Здравствуйте.
Есть компонент:
public class TestComponent : MonoBehaviour
{
event Action Action;
void Start()
{
Action += Function1;
Action += Function2;
Action += Function3;
Action?.Invoke();
}
void Function1()
{
Debug.Log(1);
}
void Function2()
{
Debug.Log(2);
Action -= Function3;
}
void Function3()
{
Debug.Log(3);
}
}
Вывод:
1
2
3
Вопросы:
1) Почему Function3 метод вызывается?
2) Как сделать, чтобы Function3 метод не вызывался, если мы отписали его в событии во время вызова события в методе Function2? Иначе переформулировав - как сделать, чтобы в выводе было 1 и 2.