private void TriggerEvent(string layer)
    {
        StateChangeData data = new StateChangeData();

        data.changedStateLayer = layer;
        data.currentStates     = GetCurrentState();
        stateChangeEvent.Trigger(data);
    }
Beispiel #2
0
        public void StartPlay(GameEventData eventData)
        {
            //Debug.Log("Start Play");
            StateChangeData data = eventData.CastDataType <StateChangeData>();

            if (data == null)
            {
                return;
            }

            //Debug.Log("Start Play2");
            if (data.currentStates.Contains(StateID.EnemyTurn))
            {
                AIManager.Instance.UseAction();
            }
            //Debug.Log("Start Play3");
        }
    protected virtual void StateChange(GameEventData eventData)
    {
        //Debug.Log("Receive State Change Event");
        StateChangeData data = eventData.CastDataType <StateChangeData>();

        if (data == null)
        {
            return;
        }

        bool check  = CheckState(data.currentStates);
        bool active = gameObject.activeSelf;

        if (check ^ active)
        {
            gameObject.SetActive(!active);
        }
    }
    protected override void StateChange(GameEventData eventData)
    {
        if (m_ControlledComponent == null)
        {
            return;
        }

        StateChangeData data = eventData.CastDataType <StateChangeData>();

        if (data == null)
        {
            return;
        }

        bool check  = CheckState(data.currentStates);
        bool active = m_ControlledComponent.enabled;

        if (check ^ active)
        {
            m_ControlledComponent.enabled = !active;
        }
    }
Beispiel #5
0
    private static void SendEnterStateNotification(State changingFrom)
    {
        var stateData = new StateChangeData(changingFrom, currentState, null);

        Messenger <StateChangeData> .Invoke(states[currentState].enter.ToString(), stateData);
    }
Beispiel #6
0
    private static void SendExitStateNotification(State changingTo)
    {
        var stateData = new StateChangeData(currentState, changingTo, null);

        Messenger <StateChangeData> .Invoke(states[currentState].exit.ToString(), stateData);
    }