/// <summary> /// Called by the server, when the other player has deployed his mine. /// </summary> public void DeployHidden(int x, int y, int owner, int damage = 3) { ItemLandMine item = (ItemLandMine)ItemManager.CreatePrefabAtBlock( landMinePrefab, x, y); item.damage = damage; item.ownerID = owner; MessageManager.CreateMessage("对方已布雷"); otherPlayerReady = true; if (thisPlayerReady) { ShowWaitingPanel(false); GameController.instance.turnOwnerID = 0; GameController.instance.gamePhase = GamePhase.DrawLine; HidePanel(); MessageManager.CreateMessage("所有玩家布雷完毕,\n游戏开始!"); } }
public void Deploy(int playerIndex, int damage = 3) { int posX = posMarker.posX; int posY = posMarker.posY; ItemLandMine item = (ItemLandMine)ItemManager.CreatePrefabAtBlock( landMinePrefab, posX, posY); item.damage = damage; item.ownerID = playerIndex; Destroy(posMarker.gameObject); if (GameController.gameMode == GameMode.LocalPVP) { GameController.instance.turnOwnerID++; if (GameController.currentPlayer >= GameController.instance.playerCount) { GameController.instance.turnOwnerID = 0; GameController.instance.gamePhase = GamePhase.DrawLine; HidePanel(); MessageManager.CreateMessage("所有玩家布雷完毕,\n游戏开始!"); foreach (PlayerInstance K in GameController.instance.players) { K.ShowExamineMineButton(); } } else { BeginSetting(); MessageManager.CreateMessage("地雷已设置,\n请下一位玩家布雷"); } } else if (GameController.gameMode == GameMode.NetPVP) { //Since this is the place that a player decides where //his own mine is depolyed, we only handle this part here. OnlinePlayer.localPlayer.CmdCreateMine(posX, posY, OnlinePlayer.myID, damage); thisPlayerReady = true; //Note that the mine is already settled before the mode has be decided. // In online mode, a player can always see his own mine. //No need to use any show mine buttons. item.Show(); if (otherPlayerReady) { GameController.instance.turnOwnerID = 0; GameController.instance.gamePhase = GamePhase.DrawLine; HidePanel(); MessageManager.CreateMessage("所有玩家布雷完毕,\n游戏开始!"); } else { ShowWaitingPanel(true); } } }