Esempio n. 1
0
 public static PlayerInjuerState GetInstance()
 {
     if (instance == null)
     {
         instance = new PlayerInjuerState();
     }
     return(instance);
 }
Esempio n. 2
0
        /// <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());
            }
        }