private void TriggerEvent(string layer) { StateChangeData data = new StateChangeData(); data.changedStateLayer = layer; data.currentStates = GetCurrentState(); stateChangeEvent.Trigger(data); }
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; } }
private static void SendEnterStateNotification(State changingFrom) { var stateData = new StateChangeData(changingFrom, currentState, null); Messenger <StateChangeData> .Invoke(states[currentState].enter.ToString(), stateData); }
private static void SendExitStateNotification(State changingTo) { var stateData = new StateChangeData(currentState, changingTo, null); Messenger <StateChangeData> .Invoke(states[currentState].exit.ToString(), stateData); }