Доступ к свойству «включено» компонента через интерфейсC#

Место общения программистов C#
Ответить
Anonymous
 Доступ к свойству «включено» компонента через интерфейс

Сообщение Anonymous »

У меня есть класс/поведение MyBehavior, который ищет в игровом объекте любой компонент, реализующий интерфейс IMyInterface, используя этот код: myInterface = (IMyInterface)gameObject.GetComponentInParent (typeof(IMyInterface)) .

Код: Выделить всё

IMyInterface
реализуется несколькими классами/поведениями. Например:

Код: Выделить всё

public class MyClass1: MonoBehaviour, IMyInterface

public class MyClass2: MonoBehaviour, IMyInterface
и т. д.
Я хотел бы иметь возможность определять, включены ли компоненты MyClass1, MyClass2 и т. д. или отключено.
Однако я не уверен, как получить доступ к компонентам, и интерфейсы, похоже, не имеют доступа к свойствам Enable и Disabled.
Одним решением, о котором я подумал, является явная проверка типа, например. myInterface — это MyClass1, но проблема в том, что если я когда-нибудь создам новый класс, реализующий интерфейс, мне придется не забыть вернуться к этому сценарию MyBehavior и обновить его, чего я не делаю. мне нравится.
Есть ли какие-нибудь способы узнать тип класса, к которому относится интерфейс, и получить доступ к его включенным или отключенным свойствам? Будет ли приведение его к Monobehaviour работать нормально, если я всегда ожидаю, что это будет Monobehaviour, или это плохая идея со скрытыми проблемами?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -interface
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»