public void startMultiplayerGame() { if (!PhotonNetwork.IsMasterClient) { //GameObject.Find("Canvas/MultiplayerPanel/RoomPanel/NotMasterClient").SetActive(true); //startNotMasterFade(); RoomHandling rh = GameObject.Find("Canvas/MultiplayerPanel/RoomPanel").GetComponent <RoomHandling>(); rh.SendReadyStatus(rh.getSlotPosition(PhotonNetwork.LocalPlayer)); } else { Debug.Log(RpcTarget.All); bool allPlayersReady = true; for (int i = 1; i <= 6; i++) { if (!(bool)PhotonNetwork.CurrentRoom.CustomProperties["Team" + i + "Ready"]) { allPlayersReady = false; break; } } if (allPlayersReady) { startGame(); } else { GameObject notReadyPanel = GameObject.Find("Canvas/MultiplayerPanel/RoomPanel"); notReadyPanel = notReadyPanel.transform.Find("PlayersNotReady").gameObject; notReadyPanel.SetActive(true); } //PhotonView.Get(this).RPC("startGame", RpcTarget.All); } }
public override void OnPlayerLeftRoom(Photon.Realtime.Player newPlayer) { RoomHandling rh = GameObject.Find("Canvas/MultiplayerPanel/RoomPanel").GetComponent <RoomHandling>(); int playerLoc = rh.getSlotPosition(newPlayer); Hashtable ht = PhotonNetwork.CurrentRoom.CustomProperties; ht["Team" + (PhotonNetwork.PlayerList.Length + 1) + "Ready"] = true; GameObject.Find("Canvas/MultiplayerPanel/RoomPanel").GetComponent <RoomHandling>().UpdatePlayerList(); Debug.Log(newPlayer.NickName + " has left the room"); }
public void startGame() { if (PhotonNetwork.IsConnected) { List <int> selectedTeams = new List <int>(); for (int i = 1; i <= 6; i++) { selectedTeams.Add(GameObject.Find("Canvas/MultiplayerPanel/RoomPanel/Teams/Team" + i + "/TeamImage/Dropdown").GetComponent <Dropdown>().value); } if (selectedTeams.Count == selectedTeams.Distinct().Count()) { PhotonView.Get(this).RPC("SelectionControlsActivity", RpcTarget.Others, false); RoomHandling rh = GameObject.Find("Canvas/MultiplayerPanel/RoomPanel").GetComponent <RoomHandling>(); if (PhotonNetwork.IsMasterClient) { setPlayerTeams(); } for (int i = 1; i <= PhotonNetwork.PlayerList.Length; i++) { GameManager.teamTypes[GameObject.Find("Canvas/MultiplayerPanel/RoomPanel/Teams/Team" + i + "/TeamImage/Dropdown").GetComponent <Dropdown>().value] = (Team.Type)Team.Type.player; } SceneManager.LoadScene("GameScene"); } else { Debug.Log("Duplicates"); GameObject rp = GameObject.Find("Canvas/MultiplayerPanel/RoomPanel"); rp.transform.Find("DuplicateTeamPanel").gameObject.SetActive(true); startDuplicatePanelFade(); } } else { SceneManager.LoadScene("GameScene"); } }