void Awake() { var variable = DynamicAtoms.CreateVariable <T, V, E1, E2>(CreateChangedEvent, CreateChangedWithHistoryEvent); if (variable.Changed != null) { if (Listener != null) { Listener.GameEvent = variable.Changed; Listener.GameEvent.RegisterListener(Listener); } } if (variable.ChangedWithHistory != null) { if (ListenerWithHistory != null) { ListenerWithHistory.GameEvent = variable.ChangedWithHistory; ListenerWithHistory.GameEvent.RegisterListener(ListenerWithHistory); } } if (OnVariableCreate != null) { OnVariableCreate.Do(variable); } if (OnVariableCreateWithGO != null) { OnVariableCreateWithGO.Do(variable, gameObject); } }
void Awake() { var list = DynamicAtoms.CreateList <T, L, E>(CreateAddedEvent, CreateRemovedEvent, CreateClearedEvent); if (list.Added != null) { if (AddedListener != null) { AddedListener.GameEvent = list.Added; AddedListener.GameEvent.RegisterListener(AddedListener); } } if (list.Removed != null) { if (RemovedListener != null) { RemovedListener.GameEvent = list.Removed; RemovedListener.GameEvent.RegisterListener(RemovedListener); } } if (list.Cleared != null) { if (ClearedListener != null) { ClearedListener.GameEvent = list.Cleared; ClearedListener.GameEvent.RegisterListener(ClearedListener); } } if (OnListCreate != null) { OnListCreate.Do(list); } if (OnListCreateWithGO != null) { OnListCreateWithGO.Do(list, gameObject); } }