public void TransitionOut()
    {
        if (!isCurrentlySelected)
        {
            return;
        }

        Deactivate(this);
        previousScreens.Push(this);
        currentScreen = null;
    }
Esempio n. 2
0
    private static void Activate(TransitionableScreen screen)
    {
        var canvasGroup = screen.canvasGroup ?? screen.GetComponent <CanvasGroup>();

        canvasGroup.interactable   = true;
        canvasGroup.blocksRaycasts = true;

        screen.gameObject.SetActive(true);
        screen.OnTransitionIn();
        screen.onTransitionIn.Invoke();
    }
    private static void Activate(TransitionableScreen screen)
    {
        screen.gameObject.SetActive(true);

        var canvasGroup = screen.canvasGroup;

        if (canvasGroup)
        {
            canvasGroup.interactable   = true;
            canvasGroup.blocksRaycasts = true;
        }

        screen.OnTransitionIn();
    }
    public static void TransitionToPrevious()
    {
        if (previousScreens.Count == 0)
        {
            return;
        }

        if (currentScreen != null)
        {
            Deactivate(currentScreen);
        }

        currentScreen = previousScreens.Pop();
        Activate(currentScreen);
    }
Esempio n. 5
0
    private static void Deactivate(TransitionableScreen screen)
    {
        var canvasGroup = screen.canvasGroup ?? screen.GetComponent <CanvasGroup>();

        canvasGroup.interactable   = false;
        canvasGroup.blocksRaycasts = false;

        if (screen.deactivateOnTransitionOut)
        {
            screen.gameObject.SetActive(false);
        }

        screen.OnTransitionOut();
        screen.onTransitionOut.Invoke();
    }
    public void TransitionIn()
    {
        if (isCurrentlySelected)
        {
            return;
        }

        if (currentScreen)
        {
            Deactivate(currentScreen);
            previousScreens.Push(currentScreen);
        }

        currentScreen = this;
        Activate(this);
    }
    private static void Deactivate(TransitionableScreen screen)
    {
        var canvasGroup = screen.canvasGroup;

        if (canvasGroup)
        {
            canvasGroup.interactable   = false;
            canvasGroup.blocksRaycasts = false;
        }

        if (screen.deactivateOnTransitionOut)
        {
            screen.gameObject.SetActive(false);
        }

        screen.OnTransitionOut();
    }
Esempio n. 8
0
 void Start()
 {
     targetScreen = targetScreen ? targetScreen : GetComponent <TransitionableScreen>();
 }