Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
    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");
    }
Esempio n. 3
0
    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");
        }
    }