Пример #1
0
        public void LoadCombatScene(string _sceneName, ISceneParameter _parameter)
        {
            m_RootStack.Peek().SetActive(false);
            Application.LoadLevelAdditive(_sceneName);

            m_ParameterStack.Push(_parameter);
        }
    public void MoveScene(string sceneName, ISceneParameter sceneParameter)
    {
        if (!sceneToParamterType.ContainsKey(sceneName))
        {
            Debug.Assert(false, "シーン遷移時のパラメータの型が存在しません。");
            return;
        }

        if (sceneToParamterType[sceneName].IsInstanceOfType(sceneParameter.GetType()))
        {
            Debug.Assert(false, "シーン遷移時のパラメータが異なります。");
            return;
        }

        currentSceneParameter = sceneParameter;

        prevScene.Push(SceneManager.GetActiveScene().name);
        FadeInAndMoveScene("Scenes/" + sceneName);
    }