public class GerenciadorRede : MonoBehaviourPunCallbacks
public int QtdMaximaJogadores;
public static GerenciadorRede instance;
public string nomeSala = "MMORPG";
if (instance != null && instance != this)
gameObject.SetActive (false);
DontDestroyOnLoad (gameObject);
PhotonNetwork.ConnectUsingSettings ();
public override void OnConnectedToMaster ()
Debug.Log ("Conectado ao servidor!");
PhotonNetwork.JoinLobby ();
public override void OnJoinedLobby ()
Debug.Log ("Conectado ao Lobby!");
RoomOptions options = new RoomOptions ();
options.MaxPlayers = (byte)QtdMaximaJogadores;
public override void OnJoinRoomFailed (short returnCode, string message)
Debug.Log ("Sala de jogo inexistente, criando sala: " + nomeSala);
public override void OnJoinedRoom ()
Debug.Log ("Entrou na sala: " + PhotonNetwork.CurrentRoom.Name);
foreach (var player in PhotonNetwork.PlayerList)
if (player.NickName == PlayfabLogin.PFL.NickName) photonView.RPC ("DesconectarJogador", RpcTarget.MasterClient, player);
PhotonNetwork.NickName = PlayfabLogin.PFL.NickName;
PlayfabLogin.PFL.menuLoading.SetActive (false);
photonView.RPC ("CarregaCena", PhotonNetwork.LocalPlayer, "Game");
public void CriaSala (string nomeSala)
RoomOptions options = new RoomOptions ();
options.MaxPlayers = (byte)QtdMaximaJogadores;
PhotonNetwork.CreateRoom (nomeSala, options);
public void EntrarSala (string nomeSala)
PhotonNetwork.JoinRoom (nomeSala);
public void CarregaCena (string nomeCena)
PhotonNetwork.LoadLevel (nomeCena);
private void DesconectarJogador (Player player)
PhotonNetwork.CloseConnection (player);