Inheritance: CharacterAction
コード例 #1
0
ファイル: GameManager.cs プロジェクト: kgpasta/ManaMistEngine
        public void DoCommand(Command command)
        {
            switch (command.type)
            {
            case CommandType.DESCRIBE:
                DescribeCommand describeCommand = (DescribeCommand)command;
                describeCommand.Execute(mapController, describeCommand.id != null ? FindEntity(describeCommand.id) : null);
                break;

            case CommandType.SELECT:
                SelectCommand selectCommand = (SelectCommand)command;
                selectCommand.Execute(mapController, GetPlayerById(selectCommand.playerId));
                break;

            case CommandType.PERFORMACTION:
                PerformActionCommand performActionCommand = (PerformActionCommand)command;
                performActionCommand.Execute(mapController, GetPlayerById(performActionCommand.playerId), GetPlayerById(performActionCommand.playerId).selectedEntity);
                break;

            case CommandType.ENDTURN:
                EndTurnCommand endTurnCommand = (EndTurnCommand)command;
                endTurnCommand.Execute(turnController);
                break;

            default:
                break;
            }
        }
コード例 #2
0
ファイル: PlayerProxy.cs プロジェクト: smolyakoff/conreign
        public Task EndTurn()
        {
            var command = new EndTurnCommand {
                RoomId = _roomId
            };

            return(_context.Send(command));
        }
コード例 #3
0
 public Command ButtonEndTurn()
 {
     if (bActionUI)
     {
         EndTurnCommand command = new EndTurnCommand(selectedActor);
         this.selectedActor = null;
         return(command);
     }
     return(null);
 }
コード例 #4
0
ファイル: CommandManager.cs プロジェクト: tmcfar/galacdecks
    public bool EndTurn(bool energy, bool mineral, bool draw)
    {
        if (!GameManager.Instance.IsMyTurn)
        {
            return(false);
        }
        GameCommand command = new EndTurnCommand(NextId, energy, mineral, draw);

        SendCommand(command);
        return(true);
    }
コード例 #5
0
        public ActionResult ExecuteCommand(string key, CoordInfo info)
        {
            Game game = games.Find(game => game.Key == key);

            var gameNullHandler         = new GameNullHandler();
            var registeredPlayerHandler = new RegisteredPlayerHandler();
            var finalHandler            = new FinalHandler();

            registeredPlayerHandler.SetNext(gameNullHandler).SetNext(finalHandler);

            if (!Request.Headers.ContainsKey("PlayerIdentifier"))
            {
                return(StatusCode(403));
            }
            if (!game.HasPlayerWithIdentifier(Request.Headers["PlayerIdentifier"]))
            {
                return(StatusCode(403));
            }

            string text = "";

            if (registeredPlayerHandler.Handle(game, text) == null)
            {
                return(StatusCode(403));
            }

            Command cmd = null;

            switch (info.CommandType)
            {
            case "mine":
                cmd = new MineCommand(info, Request.Headers["PlayerIdentifier"]);
                break;

            case "shot":
                cmd = new ShotCommand(info, Request.Headers["PlayerIdentifier"]);
                break;

            case "endTurn":
                cmd = new EndTurnCommand(info, Request.Headers["PlayerIdentifier"]);
                break;

            default:
                return(NotFound());
            }

            lock (games)
                game.AddExecuteCommand(cmd);

            return(StatusCode(200));
        }
コード例 #6
0
        public void Replay_EndTurnCommand()
        {
            Game           gameBefore = gm.CurrentGame;
            EndTurnCommand e1         = new EndTurnCommand(false);

            e1.execute();
            EndTurnCommand e2 = new EndTurnCommand(false);

            e2.execute();

            gm.CurrentGame = gm.Replay.GameInit;
            gm.Replay.replayGame();
            Player pGameBefore, pGameAfter;

            gameBefore.PlayersDictionary.TryGetValue(1, out pGameBefore);
            gm.CurrentGame.PlayersDictionary.TryGetValue(1, out pGameAfter);

            Assert.AreEqual(gameBefore.CurrentTurn, gm.CurrentGame.CurrentTurn);
            Assert.AreEqual(pGameBefore.Points, pGameAfter.Points);
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: kgpasta/ManaMistEngine
        public static Command ArrayToCommand(CommandType commandType, string[] inputs)
        {
            Command command = null;

            switch (commandType)
            {
            case CommandType.DESCRIBE:
                if (inputs[1].ToLower() == "all")
                {
                    command = new DescribeCommand(1);
                }
                else if (inputs.Length > 2)
                {
                    command = new DescribeCommand(1, new Coordinate(Int32.Parse(inputs[1]), Int32.Parse(inputs[2])));
                }
                else
                {
                    command = new DescribeCommand(1, inputs[1]);
                }

                break;

            case CommandType.SELECT:
                command = new SelectCommand(1, inputs[1]);
                break;

            case CommandType.PERFORMACTION:
                command = new PerformActionCommand(1, new Coordinate(Int32.Parse(inputs[1]), Int32.Parse(inputs[2])), new Mine(), ActionType.BUILD);
                break;

            case CommandType.ENDTURN:
                command = new EndTurnCommand(1);
                break;

            default:
                break;
            }

            return(command);
        }