Фотонная сеть не присоединится к случайной комнате с пользовательским свойством - PullRequest
0 голосов
/ 16 апреля 2020

Я создаю многопользовательскую шахматную игру. Пользователь может играть в онлайн-матчах, сделав ставку на определенную сумму (допустим, 500, 1000, 1500 и c). Пользователь будет размещен только против места, которое ищет ту же сумму ставки. Я создаю комнату с пользовательскими свойствами, установленными как

  private void CreateRoom()
    {
        Debug.Log("Creating Room Now");
        int randomRoomNumber = Random.Range(0, 10000);

        int bet = MenuHandler.instance.betAmount;
        if (bet < 500)
            bet = 500;

        RoomOptions roomOps = new RoomOptions() { IsVisible = true, IsOpen = true, MaxPlayers = (byte)roomSize, CustomRoomProperties = new ExitGames.Client.Photon.Hashtable() { { "Bet", bet } } };


        PhotonNetwork.CreateRoom("Room" + randomRoomNumber, roomOps);

        Debug.Log(randomRoomNumber); 
    }

, очевидно, она создаст комнату, если подобной комнаты не существует, и присоединится к игроку 1.

, так что теперь игрок 1 находится в номер. Теперь, чтобы игрок 2 присоединился к комнате,

  int bet = MenuHandler.instance.betAmount;
        if (bet < 500)
            bet = 500;

        Hashtable expectedCustomRoomProperties = new Hashtable() { { "Bet", bet } };
        PhotonNetwork.JoinRandomRoom(expectedCustomRoomProperties, (byte)roomSize);

Но он не соединит игрока 2 с комнатой игрока 1 вообще. Он создает свою собственную комнату (как OnJoinRoomFailed создает комнату, если она не существует).

Я действительно не уверен, что здесь не так. Я проверил документацию и все! Вот как они это сделали. Может кто-нибудь помочь мне здесь?

PS: Я выполнил отладки, и суммы ставок верны и установлены правильно. Они просто не будут подключаться к одной комнате.

Отладка с телефона: - Joined Room4068 with Bet of (System.String)Bet=(System.Int32)1500, (System.String)curScn=(System.String)RoomWaitingRoom

Отладка из редактора Unity: - Joined Room9945 with Bet of (System.String)Bet=(System.Int32)1500

Я запуск одного экземпляра с телефона и второго экземпляра в редакторе Unity и воспроизведение одного экземпляра на телефоне и втором не проблема, я думаю, потому что они успешно соединяются, если я просто поставлю JoinRandomRoom();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...