public void lose(LoseParam loseParam) { lock (lockObject) { int color = loseParam.color; int gameEvent = loseParam.gameEvent; if (myBlokusController.loseColor[color] == 1 || myBlokusController.gameOver || myBlokusController.loseCount == myBlokusController.MAX_PLAYERS_COUNT - 1) { return; } if (myBlokusController.MAX_PLAYERS_COUNT - myBlokusController.loseCount == 2) { int nextColor = myBlokusController.getNextColor(color); if (color == myBlokusController.myColor) { if (GameEvent.TIME_CONSUME == gameEvent) { NetManager.Instance.TransferMessage(MessageFormater.formatLoseMessage()); } ShowMessage(getColor(nextColor) + " player win!"); } else if (nextColor == myBlokusController.myColor) { NetManager.Instance.TransferMessage(MessageFormater.formatWinMessage()); ShowMessage("Congratulations to you on winning this match!"); } else { ShowMessage(getColor(nextColor) + " player win!"); } chatInGame(getColor(color) + " player lose!"); chatInGame(getColor(nextColor) + " player win!"); myBlokusController.lose(color); myBlokusController.gameOver = true; return; } if (color == myBlokusController.myColor) { ShowMessage("you lose!"); //下棋截止时间到, if (GameEvent.TIME_CONSUME == gameEvent) { NetManager.Instance.TransferMessage(MessageFormater.formatLoseMessage()); } // NetManager.Instance.TransferMessage(MessageFormater.formatLoseMessage()); } else { ShowMessage(getColor(color) + " player lose!");//"下棋截止时间到," + } chatInGame(getColor(color) + " player lose!"); myBlokusController.lose(color); Debug.Log("lock end*********************************!!!!!!!!!1"); } }