Example #1
0
        public void OnMessage(EventMessageBase message)
        {
            if (message.eventMessageModel == EventMessageModel.eEventMessageModel_PLAY_ATTACK_STATE)
            {
                m_blood -= message.eventMessageAction;

                if (m_blood <= 0)
                {
                    m_stateMachine.ChangeState(MonsterDeathState.GetInstance());
                }
                else
                {
                    m_stateMachine.ChangeState(MonsterInjurtState.GetInstance());
                }

                Debug.Log("monster blood =" + m_blood.ToString());
            }
            else
            {
                if (message.eventMessageAction == (int)EnitityCommon.EnitityAction.ENITITY_ACTION_FIGHT_FINISH)
                {
                    m_stateMachine.ChangeState(MonsterIdelState.GetInstance());
                }
            }

            m_stateMachine.OnMessage(message);
        }
Example #2
0
        public AIState GetEnitityAiState()
        {
            if (m_stateMachine.GetState() == MonsterIdelState.GetInstance())
            {
                return(AIState.AI_STATE_STAND);
            }

            return(AIState.AI_STATE_NULL);
        }
Example #3
0
        public CMonster(int id, GameObject go)
        {
            m_id             = id;
            m_go             = go;
            m_animation      = go.GetComponent <Animation>();
            m_aniamtionEvent = go.GetComponent <NAnimationEvent> ();

            m_stateMachine = new StateMachine <CMonster>(this);
            m_stateMachine.SetState(MonsterIdelState.GetInstance());

            m_blood = CMonsterCommon.Boold;
        }