Beispiel #1
0
        void Update()
        {
            if (IsScreenVisible())
            {
                if (PhotonNetwork.inRoom)
                {
                    // toggle start button state
                    StartButton.Toggle(PhotonNetwork.isMasterClient);

                    // toggle map select
                    MapSelect.Toggle(PhotonNetwork.isMasterClient);

                    // toggle
                    WaitingMessage.Toggle(PhotonNetwork.isMasterClient == false);

                    // update room name
                    RoomName.text = String.Format("{0} ({1}/{2})", PhotonNetwork.room.Name, PhotonNetwork.room.PlayerCount, PhotonNetwork.room.MaxPlayers);

                    // update players list
                    UpdatePlayerList();

                    //
                    CheckForGameStart();
                }
                else
                {
                    UIRoom.HideScreen();
                    UILobby.ShowScreen();
                }
            }
        }
Beispiel #2
0
        IEnumerator WaitForConnected()
        {
            while (PhotonNetwork.connected == false)
            {
                yield return(null);
            }

            if (IsScreenInstanceVisible())
            {
                UIConnecting.HideScreen();
                UILobby.ShowScreen();
            }
        }
Beispiel #3
0
        IEnumerator OnLeaveRoutine()
        {
            if (QuantumRunner.Current)
            {
                // unload current map
                if (QuantumGame.Running)
                {
                    var mapData = FindObjectOfType <MapData>();
                    if (mapData)
                    {
                        Destroy(mapData.gameObject);
                    }
                }

                // leave room
                PhotonNetwork.LeaveRoom();

                // shutdown runner
                QuantumRunner.Current.Shutdown();

                // wait one second
                yield return(new WaitForSeconds(1f));

                // hide leave game button
                UILeaveGame.HideScreen();

                // are we still connected?
                if (PhotonNetwork.connected)
                {
                    // goto lobby
                    UILobby.ShowScreen();
                }
                else
                {
                    // goto connect screen
                    UIConnect.ShowScreen();
                }
            }

            _leaveRoutine = null;
        }
Beispiel #4
0
 public void OnBackClicked()
 {
     UICreateRoom.HideScreen();
     UILobby.ShowScreen();
 }