コード例 #1
0
        public void Execute()
        {
            _command      = _model.Command;
            _command.End -= OnCommandFinish;
            _command.End += OnCommandFinish;

            _command.Init(_player, _self);
            _command.Execute(_move);
        }
コード例 #2
0
ファイル: IAiLogic.cs プロジェクト: myl2232/ArkCrossEngine
        private void ExecuteCommandQueue(UserInfo user, long deltaTime)
        {
            UserAiStateInfo userAi = user.GetAiStateInfo();

            while (userAi.CommandQueue.Count > 0)
            {
                IAiCommand cmd = userAi.CommandQueue.Peek();
                if (cmd.Execute(deltaTime))
                {
                    userAi.CommandQueue.Dequeue();
                }
                else
                {
                    break;
                }
            }
        }
コード例 #3
0
ファイル: IAiLogic.cs プロジェクト: myl2232/ArkCrossEngine
        private void ExecuteCommandQueue(NpcInfo npc, long deltaTime)
        {
            NpcAiStateInfo npcAi = npc.GetAiStateInfo();

            while (npcAi.CommandQueue.Count > 0)
            {
                IAiCommand cmd = npcAi.CommandQueue.Peek();
                if (cmd.Execute(deltaTime))
                {
                    npcAi.CommandQueue.Dequeue();
                }
                else
                {
                    break;
                }
            }
        }