Photon PUN 2 Create Join Room

Сеть в Unity3D

Photon PUN 2 Create Join Room

Сообщение Алексей_ 07 июл 2019, 19:41

Всем привет
Столкнулся с проблемой, не могу сам решить, прошу помощи у сообщества.

Приложение делаю под WebGL
1) Пользователь регистрируется на сайте, в дальнейшем я его проверяю в приложении WebGL
2) В методе Start я делаю первоначальное подключение

Синтаксис:
Используется csharp
void Start()
{
     PhotonNetwork.IsMessageQueueRunning = true;
     PhotonNetwork.SendRate = 20;
     PhotonNetwork.SerializationRate = 10;
     PhotonNetwork.AutomaticallySyncScene = true;

     PhotonNetwork.GameVersion = "1";
     PhotonNetwork.ConnectUsingSettings();             
}


3) Далее в методе Name я показываю пользователю поля для ввода Email и Пароль
Синтаксис:
Используется csharp
        void Name()
{
     GUILayout.BeginArea(new Rect((Screen.width / 2) - 175, (Screen.height / 2) - 84, 350, 168), "", "Window");
     GUILayout.BeginVertical();

     GUILayout.Space(8);

     GUILayout.BeginHorizontal();
     GUILayout.Space(7);

     GUILayout.Label("<b><size=14>Email:</size></b>", GUILayout.Width(95), GUILayout.Height(30));
     email = GUILayout.TextField(email, 20, GUILayout.Width(216), GUILayout.Height(30));

     GUILayout.EndHorizontal();

     GUILayout.Space(10);

     GUILayout.BeginHorizontal();
     GUILayout.Space(7);

     GUILayout.Label("<b><size=14>Пароль:</size></b>", GUILayout.Width(95), GUILayout.Height(30));
     pass = GUILayout.TextField(pass, 20, GUILayout.Width(216), GUILayout.Height(30));

     GUILayout.EndHorizontal();

     GUILayout.Space(15);

     GUILayout.BeginHorizontal();
     GUILayout.Space(8);

     if (GUILayout.Button("ВЫЙТИ", conGUI.customStyles[0], GUILayout.Width(150), GUILayout.Height(39)))
     {
          #if UNITY_EDITOR
               UnityEditor.EditorApplication.isPlaying = false;
          #else
               Application.Quit();
          #endif
     }

     GUILayout.Space(10);

     if (GUILayout.Button("ПРОДОЛЖИТЬ", conGUI.customStyles[0], GUILayout.Width(150), GUILayout.Height(39)))
     {
          if (email != "" && pass != "")
          {
               StartCoroutine(Check());
          }
     }

     GUILayout.EndHorizontal();

     GUILayout.EndVertical();
     GUILayout.EndArea();
}


4) Далее в IEnumerator я делаю запрос на сервер, проверяю данные

Синтаксис:
Используется csharp
        IEnumerator Check()
        {
                WWWForm form = new WWWForm();

                form.AddField("email",email);
                form.AddField("pass",pass);

                UnityWebRequest uwr = UnityWebRequest.Post("http://myserver.ru/check.php", form);

                yield return uwr.SendWebRequest();

                if (uwr.isNetworkError || uwr.isHttpError)
                {
                        Debug.Log("Error: "+uwr.error);
                }
                else
                {
                        JSONNode jsonNode = SimpleJSON.JSON.Parse(uwr.downloadHandler.text);

                        if (jsonNode["name"] != "")
                        {
                                playerName = jsonNode["name"];

                                if(PhotonNetwork.countOfRooms==0)// Ругается вот сюда
                                {
                                        PhotonNetwork.LocalPlayer.NickName = playerName;
                                        PhotonNetwork.CreateRoom("room", new RoomOptions(), null);
                                }
                                else
                                {
                                        PhotonNetwork.JoinRoom("room");
                                }
                        }
                }
        }



Мне нужно просто проверить если комнат 0 ( PhotonNetwork.countOfRooms==0) то я создаю комнату иначе подключаюсь к комнате
Также я могу проверить что это первый игрок PhotonNetwork.CurrentRoom.PlayerCount == 1 но он также на нее ругается

NullReferenceException: Object reference not set to an instance of an object

Как можно решить, что я делаю не так ?
Алексей_
UNец
 
Сообщения: 24
Зарегистрирован: 30 авг 2013, 16:28

Re: Photon PUN 2 Create Join Room

Сообщение VladikDEV 07 июл 2019, 19:49

Может надо просто к лобби подключаться, поставь галочку автоконнекта или руками присоединяйся.
VladikDEV
UNIт
 
Сообщения: 88
Зарегистрирован: 24 май 2016, 13:45
Откуда: Минск

Re: Photon PUN 2 Create Join Room

Сообщение Алексей_ 07 июл 2019, 22:35

я пишу сountOfRooms а нужно CountOfRooms )))
Алексей_
UNец
 
Сообщения: 24
Зарегистрирован: 30 авг 2013, 16:28


Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2