//public void Update() { // chatContent.text = chatContentString; //// testText.text = chatContentString; //} /********协程***************/ IEnumerator JudgeTimeOut() { while (true) { while (deadline > 0) { if (myBlokusController.gameOver) { break; } deadline -= Time.deltaTime; int time = (int)deadline; if (time < currentShowTime) { currentShowTime = time; ShowTime.text = "Dealine:" + currentShowTime; } yield return(0); } if (myBlokusController.gameOver) { break; } deadline = DEADLINE_TIME; currentShowTime = DEADLINE_TIME; LoseParam loseParam = new LoseParam { color = myBlokusController.CurrentColor, gameEvent = GameEvent.TIME_CONSUME }; lose(loseParam); } }
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"); } }
private void giveUp(MessageBean message) { if (message.statusCode == StatusCode.SUCCESS) { BLOKUSColor bLOKUSColor = ProtobufHelper.DederializerFromBytes <BLOKUSColor>(message.data); LoseParam loseParam = new LoseParam { color = bLOKUSColor.color, gameEvent = GameEvent.GIVE_UP }; GameObject.Find("BlokusUIController").SendMessage("lose", loseParam); } }