public static PlayerInjuerState GetInstance() { if (instance == null) { instance = new PlayerInjuerState(); } return(instance); }
/// <summary> /// Raises the message event. /// </summary> /// <param name="message">Message.</param> public void OnMessage(EventMessageBase message) { if (message.eventMessageModel == EventMessageModel.eEventMessageModel_PLAY_MOVE_STATE) { m_stateMachine.ChangeState(PlayerWalkState.GetInstance()); m_stateMachine.OnMessage(message); } else if (message.eventMessageModel == EventMessageModel.eEventMessageModel_PLAY_STATE) { if (message.eventMessageAction == (int)EnitityCommon.EnitityAction.ENITITY_ACTION_FIGHT_FINISH) { m_stateMachine.ChangeState(PlayerIdelState.GetInstance()); m_stateMachine.OnMessage(message); } else { blood -= message.eventMessageAction; if (blood <= 0) { m_stateMachine.ChangeState(PlayerDeathState.GetInstance()); m_stateMachine.OnMessage(message); } else { m_stateMachine.ChangeState(PlayerInjuerState.GetInstance()); m_stateMachine.OnMessage(message); } //Debug.Log("ai a ~~~~~~~~~ blood == " + blood.ToString()); } } else if (message.eventMessageModel == EventMessageModel.eEventMessageModel_PLAY_ATTACK_STATE) { m_stateMachine.ChangeState(PlayerAttackState.GetInstance()); } }