Example #1
0
    //进入这个状态的时候
    public override void OnEnter(SimpleRole.enState lastState, object param)
    {
        SimpleRole.enBehitType behitType = (SimpleRole.enBehitType)param;
        if (lastState != SimpleRole.enState.behit) //之前不是被击状态则可以进入,但是要先清空
        {
            PlayBehit(behitType);
        }
        else if (m_curBehitType.CompareTo(behitType) <= 0)//被击优先级比现在的高
        {
            PlayBehit(behitType);
        }

        //浮空中被击有一个小的浮空力
        if (m_parent.m_floatBehitStartSpeed > m_floatSpeed && behitType == SimpleRole.enBehitType.beiji && m_curBehitType == SimpleRole.enBehitType.fukong)
        {
            //下降状态要加回上升状态
            if (m_floatSpeed <= 0)
            {
                m_parent.Ani.Play(AniFxMgr.Ani_FuKong01, WrapMode.ClampForever, m_parent.m_fade);
            }

            //重设初速度
            m_floatSpeed       = m_parent.m_floatBehitStartSpeed;
            m_floatAccelerated = m_parent.m_floatBehitAccelerated;
        }
    }
Example #2
0
 //进入这个状态的时候
 public override void OnEnter(SimpleRole.enState lastState, object param)
 {
     m_parent.Ani.Play(AniFxMgr.Ani_PaoBu, WrapMode.Loop, 0.2f, m_parent.m_moveSpeed / m_parent.m_moveAniSpeed);
     //按照方向移动
     if (m_parent.GetDir() != Vector3.zero)
     {
         m_lastDir = m_parent.GetDir();
         m_parent.transform.forward = m_lastDir;
     }
     //寻路
     else
     {
         m_lastDir        = m_parent.transform.forward;
         m_stuckCount     = 0;
         m_avoidBeginTime = 0;
     }
 }
 //进入这个状态的时候
 public virtual void OnEnter(SimpleRole.enState lastState, object param)
 {
 }
 //进入这个状态的时候
 public override void OnEnter(SimpleRole.enState lastState, object param)
 {
     m_curCxt = (SimpleRole.AttackCxt)param;
     m_parent.Ani.Play(m_curCxt.aniName, m_curCxt.wrapMode, 0);
 }
Example #5
0
 //进入这个状态的时候
 public override void OnEnter(SimpleRole.enState lastState, object param)
 {
     m_parent.Ani.Play(AniFxMgr.Ani_DaiJi, WrapMode.Loop, 0.2f);
 }