public void onPlayerMove(object obj, ConnectedClient c) { Game.CommProtocol.StringMessage moveMsg = (Game.CommProtocol.StringMessage)obj; if (gameOver || moveMsg.color != currentPlayer().color) { return; } int[] start = new int[2], target = new int[2]; if (moveHandler.checkIfValidMove(moveMsg.msg, ref start, ref target, playerColorToInt(moveMsg.color))) { logic.makeMove(start, target, playerColorToInt(moveMsg.color)); currentMoveNumber++; broadcastBoard(); gameLog.pushToRawLog(moveMsg.msg); if (logic.winCheck()) { victory(); return; } nextPlayer(); } requestMove(); }