public virtual void OnUseSkill(USCommand ev) { //if (this.Camp == EBattleCamp.A) //{ // return; //} //Util.Instance.Log("===========使用技能======"); //Debug.LogError("使用技能"); StopPathFinding(); LookAtEnemy(); this.mActorSkill.UseSkill(ev.Pos); }
public override void Enter() { base.Enter(); USCommand ev = Cmd as USCommand; //Debug.LogError(ev.LastTime); if (ev.LastTime > 0) { ZTTimer.Instance.Register(ev.LastTime, Break); } Owner.ApplyRootMotion(false); Owner.OnUseSkill(ev); }
//使用技能 protected virtual ECommandReply CheckUseSkill(USCommand cmd) { if (this.CacheTransform == null) { return(ECommandReply.N); } //if (CannotControlSelf()) //{ // ShowWarning("100012"); // return ECommandReply.N; //} if (FSM == FSMState.FSM_SKILL) { return(ECommandReply.N); } //if (GetActorEffect(EActorEffect.Is_Ride)) //{ // ShowWarning("100011"); // return ECommandReply.N; //} //if (Define.USE_NEW_SKILL) //{ // ActSkill skill = this.mActorAct.GetSkill(cmd.Pos); // if (skill == null) return ECommandReply.N; // if (skill.IsInCD()) return ECommandReply.N; // switch (skill.Data.CostType) // { // case ESkillCostType.HP: // { // bool success = UseHP(skill.Data.CostNum); // if (!success) // { // return ECommandReply.N; // } // } // break; // case ESkillCostType.MP: // { // bool success = UseMP(skill.Data.CostNum); // if (!success) // { // return ECommandReply.N; // } // } // break; // } // cmd.LastTime = skill.Data.Dur; //} //else //{ SkillTree skill = this.mActorSkill.GetSkill(cmd.Pos); // if (skill == null) return ECommandReply.N; // if (skill.IsInCD()) return ECommandReply.N; // switch (skill.CostType) // { // case ESkillCostType.HP: // { // bool success = UseHP(skill.CostNum); // if (!success) // { // return ECommandReply.N; // } // } // break; // case ESkillCostType.MP: // { // bool success = UseMP(skill.CostNum); // if (!success) // { // return ECommandReply.N; // } // } // break; // } cmd.LastTime = skill.StateTime; //} SendStateMessage(FSMState.FSM_SKILL, cmd); return(ECommandReply.Y); }