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; } }
public Task EndTurn() { var command = new EndTurnCommand { RoomId = _roomId }; return(_context.Send(command)); }
public Command ButtonEndTurn() { if (bActionUI) { EndTurnCommand command = new EndTurnCommand(selectedActor); this.selectedActor = null; return(command); } return(null); }
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); }
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)); }
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); }
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); }