Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }