Esempio n. 1
0
    public virtual bool Close(IUIPageController nextPage, bool immidiate = false)
    {
        if (!this.model.CanClose)
        {
            return(false);
        }

        this.model.PageState       = PageState.Closing;
        this.model.currentNextPage = nextPage;

        this.Disable();

        // Start fading out the page
        ScreenFader fader = this.view.Fader;

        if (immidiate)
        {
            fader.ImmidiateFade(false, () => this.model.PageState = PageState.Closed);
            if (this.OnFadeTick != null)
            {
                this.OnFadeTick(0.0f);
            }
        }
        else
        {
            fader.StartFade(false, () => this.model.PageState = PageState.Closed, this.OnFadeTick);
        }

        return(true);
    }
Esempio n. 2
0
    public virtual bool Open(IUIPageController previousPage, bool immidiate = false)
    {
        if (!this.model.CanOpen)
        {
            return(false);
        }

        this.model.currentPreviousPage = previousPage;
        if (this.model.Type == PageType.Popup && previousPage != null)
        {
            previousPage.Disable();
        }
        this.model.PageState = PageState.Opening;

        this.view.gameObject.SetActive(true);
        this.Enable();

        // Start fading in the page
        ScreenFader fader = this.view.Fader;

        if (immidiate)
        {
            fader.ImmidiateFade(true, () => this.model.PageState = PageState.Opened);
            if (this.OnFadeTick != null)
            {
                this.OnFadeTick(1.0f);
            }
        }
        else
        {
            fader.StartFade(true, () => this.model.PageState = PageState.Opened, this.OnFadeTick);
        }

        return(true);
    }
Esempio n. 3
0
    // There is some lag happening after first frame of scene loading,
    // so this coroutine starts page fade out after 1 frame
    IEnumerator GetLoadingPageCloseRoutine(IUIPageController nextPage)
    {
        // Wait 1 frame
        yield return(null);

        this.Close(nextPage);
    }
Esempio n. 4
0
 public void OpenAndClose(IUIPageController nextPage)
 {
     this.model.SceneToLoadIdx = -1;
     this.Open(null, true);
     this.view.StartCoroutine(this.GetLoadingPageCloseRoutine(nextPage));
 }
Esempio n. 5
0
 public void OpenAndLoadScene(int sceneToLoadIdx, IUIPageController previousPage)
 {
     this.model.SceneToLoadIdx = sceneToLoadIdx;
     this.Open(previousPage);
 }