Всем доброй ночи. Вопрос скорее по C#, чем по юнити, тем не менее.
Допустим, что у меня есть некий GameObject с компонентом StateSwitcher, в котором реализован делегат OnStateSwitch.
В компоненте какого-то другого объекта я получаю ссылку на компонент StateSwitcher и добавляю свой локальный метод OnSwitchState:
stateSwitcher = Main.GetComponent<StateSwitcher>();
stateSwitcher.SwitchCallbacks += OnSwitchState;
Ну и собственно в компоненте StateSwitcher при изменении некого состояния я дергаю этот SwitchCallbacks(state) передавая некий state. И все бы хорошо, да только:
NullReferenceException: Object reference not set to an instance of an object
Я не силен в C# и не очень понимаю, почему я не могу в делегат одного класса добавить метод из другого класса. Как лучше реализовать некий переключатель состояний в таком случае, чтобы из любого компонента можно было подписаться на событие изменения состояния игры? Заранее благодарю.