Exemplo n.º 1
0
        public override void Process(Action _action, Track _track)
        {
            PoolObjHandle <ActorRoot> actorHandle = _action.GetActorHandle(this.targetId);

            if (!actorHandle)
            {
                if (ActionManager.Instance.isPrintLog)
                {
                }
                return;
            }
            ObjWrapper actorControl = actorHandle.get_handle().ActorControl;

            if (actorControl == null)
            {
                if (ActionManager.Instance.isPrintLog)
                {
                }
                return;
            }
            if (this.stopMove)
            {
                actorControl.TerminateMove();
            }
            if (this.clearMove)
            {
                actorControl.ClearMoveCommand();
            }
            if (this.stopCurSkill)
            {
                actorControl.ForceAbortCurUseSkill();
            }
            if (this.delayStopCurSkill && !this.stopCurSkill)
            {
                actorControl.DelayAbortCurUseSkill();
            }
            if (this.deadControl && actorControl.actor.TheStaticData.TheBaseAttribute.DeadControl && actorControl.IsDeadState)
            {
                actorControl.AddNoAbilityFlag(ObjAbilityType.ObjAbility_DeadControl);
                actorControl.SetDeadMode(ObjDeadMode.DeadState_Idle);
            }
        }