Beispiel #1
0
 //-------------------------------------------------------------------------------------------------------
 //public override bool HitTest(Ray ray, out RaycastHit rayHit)
 //{
 //    if (m_EntityView != null)
 //    {
 //        return m_EntityView.HitTest(ray,out rayHit);
 //    }
 //    rayHit = new RaycastHit();
 //    return false;
 //}
 //-------------------------------------------------------------------------------------------------------
 public override void ChangeState(CreatureState state, object param = null)
 {
     if (m_FMS != null)
     {
         //if (EntitySystem.m_ClientGlobal.IsMainPlayer(this as IEntity))
         //{
         //    UnityEngine.Debug.Log("ChangeState ..." + state);
         //}
         m_FMS.ChangeState((int)state, param);
     }
 }
Beispiel #2
0
        /////////////////////////////////////////////////////////////////////////////////////////////////////////
        // 创建状态机
        private void CreateStateMachine()
        {
            m_FMS = new Engine.Utility.StateMachine <Creature>(this);

            m_FMS.RegisterState(new CreatureNormal(m_FMS));
            m_FMS.RegisterState(new CreatureIdle(m_FMS));
            m_FMS.RegisterState(new CreatureDead(m_FMS));
            m_FMS.RegisterState(new CreatureBeginDead(m_FMS));
            //m_FMS.RegisterState(new CreatureFitght(m_FMS));
            m_FMS.RegisterState(new CreatureMove(m_FMS));
            m_FMS.RegisterState(new CreatureContrl(m_FMS));
            m_FMS.ChangeState((int)Client.CreatureState.Normal, null); // 初始状态设置为Normal
        }