Страница 1 из 1

Как сделать загрузку игровых сцен (photon)?

СообщениеДобавлено: 14 мар 2017, 18:18
valera0141
Привет форумчане. Задался вопросом. Предположим, имеется 3 пользователя. Первый в меню нажимает создать и выбирает сцену(карту), создаётся комната и загружается выбранная сцена. Другие два пользователя в меню нажимают присоединиться. Но вот как сделать, чтоб у подключившихся пользователей загрузилась та же сцена, что и у главного игрока? То есть тот же метод, что и в counter-strike/half-life. Пока что в меню сцене висит ui кнопка 'Создать игру', при нажатии вызывается скрипт.

Синтаксис:
Используется csharp
public void CreateRoom()
    {
        RoomOptions roomOptions = new RoomOptions();
        roomOptions.IsVisible = false;
        roomOptions.MaxPlayers = 4;

        PhotonNetwork.CreateRoom(roomName.text, roomOptions, TypedLobby.Default);

        Debug.Log( "Количество игроков в комнате " + PhotonNetwork.playerList.Length.ToString());

        DontDestroyOnLoad(gameObject);
        PhotonNetwork.LoadLevel(1);
    }
 

Re: Как сделать загрузку игровых сцен (photon)?

СообщениеДобавлено: 14 мар 2017, 19:47
Aleksey
Синтаксис:
Используется csharp
PhotonNetwork.CreateRoom("NameRoom", new RoomOptions() { MaxPlayers = 4, CustomRoomProperties = new Hashtable() { { "scene", int(сцену которую выбрал) } } }, null);

ну а дальше в кулбэке онджойнедрум открывай это свойство комнаты допустим и открывай сцену индекс которой достал из этого свойства комнаты

не мешай все в кучу и не добавляй лишнюю сетевую логику чтобы не путаться) это плохая привычка для начинающего сетевого программиста))
я про фотоннетворк.лоад лвл. Грубо говоря эта строчка нужна только тогда ,когда игроки открывают сцену все вместе одновременно. А у тебя из описания я вижу что один создает загружает сцену потом присоединяется другой и загружает и т.д. Тут не нужно через фотоннетворк загружать сцены. Обычный юнити сцене менеджер класс подойдет.

Re: Как сделать загрузку игровых сцен (photon)?

СообщениеДобавлено: 14 мар 2017, 21:21
Woolf
в кулбэке онджойнедрум

=)) (полная Ж)

Re: Как сделать загрузку игровых сцен (photon)?

СообщениеДобавлено: 15 мар 2017, 11:23
valera0141
Aleksey писал(а):
Синтаксис:
Используется csharp
PhotonNetwork.CreateRoom("NameRoom", new RoomOptions() { MaxPlayers = 4, CustomRoomProperties = new Hashtable() { { "scene", int(сцену которую выбрал) } } }, null);


Ругается Cannot implicitly convert type `System.Collections.Hashtable' to `ExitGames.Client.Photon.Hashtable'. Что то не пойму. Вот как выглядит строчка
Синтаксис:
Используется csharp
PhotonNetwork.CreateRoom("NameRoom", new RoomOptions() { MaxPlayers = 4, CustomRoomProperties = new Hashtable() { { 1, "scene" } } }, null);

Re: Как сделать загрузку игровых сцен (photon)?

СообщениеДобавлено: 15 мар 2017, 12:02
Aleksey
выше нейма класса скрипта надо подключить пространство имен - using Hashtable = ExitGames.Client.Photon.Hashtable;

Re: Как сделать загрузку игровых сцен (photon)?

СообщениеДобавлено: 19 мар 2017, 20:28
valera0141
Aleksey писал(а):выше нейма класса скрипта надо подключить пространство имен - using Hashtable = ExitGames.Client.Photon.Hashtable;

Спасибо