예제 #1
0
 public override void StopNav()
 {
     m_cornersIdx     = 1;
     isMovingToTarget = false;
     m_isMovingOn     = false;
     TimerHeap.DelTimer(m_timerIdForNav);
 }
예제 #2
0
        /// <summary>
        /// 清除技能,到Idle状态
        /// </summary>
        /// <param name="remove"></param>
        /// <param name="naturalEnd"></param>
        public virtual void ClearSkill(bool remove = false, bool naturalEnd = false)
        {
            TimerHeap.DelTimer(hitTimerID);
            TimerHeap.DelTimer(delayAttackTimerID);
            if (currSpellID != -1)
            {
                if (SkillAction.dataMap.ContainsKey(currHitAction) && remove)
                {
                    RemoveSfx(currHitAction);
                }
                SkillData data;
                if (SkillData.dataMap.TryGetValue(currSpellID, out data) && remove)
                {
                    foreach (var action in data.skillAction)
                    {
                        RemoveSfx(action);
                    }
                }
                currHitAction = -1;
            }
            hitTimer.Clear();
            GameMotor theMotor = motor;

            if (Transform)
            {
                theMotor.enableStick    = true;
                theMotor.enableRotation = true;
                theMotor.SetExtraSpeed(0);
                theMotor.SetMoveDirection(Vector3.zero);
            }
            ChangeMotionState(MotionState.IDLE);
            currSpellID = -1;
        }