Example #1
0
    static async Task Loading(Type sceneType)
    {
        string sceneName = sceneType.Name.Replace("Scene", "");

        if (string.IsNullOrEmpty(sceneName))
        {
            GameLog.LogErrorFormat("Failed to load scene {0}({1})", sceneName, sceneType.Name);
            onSceneLoaded = null;
            return;
        }

        await ScreenFader.AsyncFade(true);

        if (null != current)
        {
            current.OnDestroy();
        }
        current = null;
        // UI.Instance.ClosePanelsWhenSceneDestroy();

        await SceneLoader.AsyncLoad(sceneName);

        current = (IScene)Activator.CreateInstance(sceneType);
        current.Start();

        if (null != onSceneLoaded)
        {
            onSceneLoaded();
        }
        onSceneLoaded = null;

        await ScreenFader.AsyncFade(false);
    }
Example #2
0
    async Task SwitchingPage(int to, Delegate onPageShow)
    {
        switchingPage = true;
        await ScreenFader.AsyncFade(true);

        pages[pageIndex].Close();
        pages[to].Visible = true;
        pageIndex         = to;

        if (null != onPageShow)
        {
            onPageShow.DynamicInvoke(pages[to]);
        }

        await ScreenFader.AsyncFade(false);

        switchingPage = false;
    }