Esempio n. 1
0
        private IEnumerator <ICoroutineOperation> ToggleCoroutine(bool closing)
        {
            if (!UseTransitions)
            {
                State  = closing ? MenuUIState.Closed : MenuUIState.Open;
                _alpha = new TweenedDouble(Parent.Game, closing ? 0 : 1);
                Area   = new TweenedVector2(Parent.Game, closing ? new Vector2(RecalculateArea(SelectedPageID).X, 7 * 2) : RecalculateArea(SelectedPageID));

                yield break;
            }

            if (closing)
            {
                Area.TweenTo(new Vector2(RecalculateArea(SelectedPageID).X, 7 * 2), TweenEaseType.EaseInOutSine, 0.14f);
                yield return(Wait.Seconds(Parent.Game, 0.14f - 0.06f));

                _alpha.TweenTo(closing ? 0 : 1, TweenEaseType.EaseInOutSine, 0.06f);
                yield return(Wait.Seconds(Parent.Game, 0.06f));
            }
            else
            {
                Area.TweenTo(RecalculateArea(SelectedPageID), TweenEaseType.EaseInOutSine, 0.14f);
                _alpha.TweenTo(closing ? 0 : 1, TweenEaseType.EaseInOutSine, 0.06f);
                yield return(Wait.Seconds(Parent.Game, 0.14f));
            }

            State = closing ? MenuUIState.Closed : MenuUIState.Open;
        }
Esempio n. 2
0
        public MenuUI(GameState state, string initialPageId, MenuPage initialPage, bool startClosed)
        {
            Parent = state;
            _pages.Add(initialPageId, initialPage);
            SelectedPageID     = initialPageId;
            initialPage.Parent = this;
            SelectedPage.OnPageEnter("");

            State           = startClosed ? MenuUIState.Closed : MenuUIState.Open;
            _alpha          = new TweenedDouble(state.Game, startClosed ? 0 : 1);
            Area            = new TweenedVector2(state.Game, startClosed ? new Vector2(RecalculateArea(SelectedPageID).X, 7 * 2) : RecalculateArea(SelectedPageID));
            _pageTransition = new TweenedDouble(state.Game, 0);
        }