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

NetworkLobbyManager.playScene

СообщениеДобавлено: 25 сен 2017, 13:42
EagleOwle
Приветствую.
Не могу разобраться...
Нужно назначить в 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.
Дебаг выдает пустую строку.

Re: NetworkLobbyManager.playScene

СообщениеДобавлено: 26 сен 2017, 01:37
webmasterpeace
Синтаксис:
Используется csharp
Scene tmpScene = SceneManager.GetSceneByName(newConfig.nameLevel);

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


А в ConfigLevel дебаг выдает значение переменной?

Re: NetworkLobbyManager.playScene

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

Я применил костыль и создал PreLoadScene из которой потом уже меняю сцену на нужную через ServerChangeScene()