//进入这个状态的时候 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; } }
//进入这个状态的时候 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); }
//进入这个状态的时候 public override void OnEnter(SimpleRole.enState lastState, object param) { m_parent.Ani.Play(AniFxMgr.Ani_DaiJi, WrapMode.Loop, 0.2f); }