Ejemplo n.º 1
0
 public virtual void OnUseSkill(USCommand ev)
 {
     //if (this.Camp == EBattleCamp.A)
     //{
     //    return;
     //}
     //Util.Instance.Log("===========使用技能======");
     //Debug.LogError("使用技能");
     StopPathFinding();
     LookAtEnemy();
     this.mActorSkill.UseSkill(ev.Pos);
 }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    //使用技能
    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);
    }