NetworkLobbyManager.playScene

Сеть в Unity3D

NetworkLobbyManager.playScene

Сообщение EagleOwle 25 сен 2017, 13:42

Приветствую.
Не могу разобраться...
Нужно назначить в NetworkLobbyManager.playScene ссылку на сцену через код.
Имею индекс сцены в BuildSettings, имею имя сцены.
Перепробовал все доступные методы, ничего не получается.

Синтаксис:
Используется csharp
public void OnChangeLevelConfig(ConfigLevel newConfig)
    {
        _currentConfig = newConfig;

        //Scene tmpScene = SceneManager.GetSceneByPath("Assets / Scenes /" + newConfig.nameLevel);
        //Scene tmpScene = SceneManager.GetSceneByBuildIndex(newConfig.indexByBuild);
        Scene tmpScene = SceneManager.GetSceneByName(newConfig.nameLevel);

        Debug.Log("Name current scene = " + tmpScene.name);


        //NetManager.Singletone.playScene = SceneManager.GetSceneByName(newConfig.nameLevel).name;//tmpScene.name;
        //RpcChangeLevel(newConfig.indexByBuild);
    }
 


Синтаксис:
Используется csharp
[System.Serializable]
public class ConfigLevel
{
    public string nameLevel;
    public Sprite uiPreviewSprite;
    public int indexByBuild;
    [TextArea]
    public string descriptionLevel;
}
 


_currentConfig получает верную ссылку.
Сцена добавлена в BuildSetting.
Дебаг выдает пустую строку.
EagleOwle
UNIверсал
 
Сообщения: 493
Зарегистрирован: 02 янв 2015, 16:27

Re: NetworkLobbyManager.playScene

Сообщение webmasterpeace 26 сен 2017, 01:37

Синтаксис:
Используется csharp
Scene tmpScene = SceneManager.GetSceneByName(newConfig.nameLevel);

Не скажу точно, но по моему нужно так
Синтаксис:
Используется csharp
Scene tmpScene = SceneManager.GetSceneByName(newConfig.GetComponent<ConfigLevel >().nameLvel);


А в ConfigLevel дебаг выдает значение переменной?
webmasterpeace
UNец
 
Сообщения: 9
Зарегистрирован: 09 дек 2013, 09:14

Re: NetworkLobbyManager.playScene

Сообщение EagleOwle 26 сен 2017, 08:37

В общем многочисленные поиски по буржуйским сайтам дали следующий результат.
NetworkLobbyManager.playScene "фиксируется" при компиляции и runtime не изменяется.
Во всяким случае я не нашел способа изменить сцену в NetworkLobbyManager.playScene, а вот посты о том, что изменить нельзя встречаются.
Так что имейте в виду.

Я применил костыль и создал PreLoadScene из которой потом уже меняю сцену на нужную через ServerChangeScene()
EagleOwle
UNIверсал
 
Сообщения: 493
Зарегистрирован: 02 янв 2015, 16:27


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

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

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