Esempio n. 1
0
        void OpenMenuPanel(MenuButtonWidget button, WidgetArgs widgetArgs = null)
        {
            disableSystemButtons = true;
            var cachedPause = world.PredictedPaused;

            if (button.HideIngameUI)
            {
                worldRoot.IsVisible = () => false;
            }

            if (button.Pause && world.LobbyInfo.IsSinglePlayer)
            {
                world.SetPauseState(true);
            }

            widgetArgs = widgetArgs ?? new WidgetArgs();
            widgetArgs.Add("onExit", () =>
            {
                if (button.HideIngameUI)
                {
                    worldRoot.IsVisible = () => true;
                }

                if (button.Pause && world.LobbyInfo.IsSinglePlayer)
                {
                    world.SetPauseState(cachedPause);
                }

                menuRoot.RemoveChild(currentWidget);
                disableSystemButtons = false;
            });

            currentWidget = Game.LoadWidget(world, button.MenuContainer, menuRoot, widgetArgs);
        }
Esempio n. 2
0
 protected MenuButtonWidget(MenuButtonWidget other)
     : base(other)
 {
     MenuContainer = other.MenuContainer;
     Pause = other.Pause;
     HideIngameUI = other.HideIngameUI;
 }
Esempio n. 3
0
 protected MenuButtonWidget(MenuButtonWidget other)
     : base(other)
 {
     MenuContainer = other.MenuContainer;
     Pause         = other.Pause;
     HideIngameUI  = other.HideIngameUI;
 }
Esempio n. 4
0
        void OpenMenuPanel(MenuButtonWidget button, WidgetArgs widgetArgs = null)
        {
            disableSystemButtons = true;
            var cachedPause = world.PredictedPaused;

            if (button.HideIngameUI)
            {
                // Cancel custom input modes (guard, building placement, etc)
                world.CancelInputMode();

                worldRoot.IsVisible = () => false;
            }

            if (button.Pause && world.LobbyInfo.NonBotClients.Count() == 1)
            {
                world.SetPauseState(true);
            }

            var cachedDisableWorldSounds = Game.Sound.DisableWorldSounds;

            if (button.DisableWorldSounds)
            {
                Game.Sound.DisableWorldSounds = true;
            }

            widgetArgs = widgetArgs ?? new WidgetArgs();
            widgetArgs.Add("onExit", () =>
            {
                if (button.HideIngameUI)
                {
                    worldRoot.IsVisible = () => true;
                }

                if (button.DisableWorldSounds)
                {
                    Game.Sound.DisableWorldSounds = cachedDisableWorldSounds;
                }

                if (button.Pause && world.LobbyInfo.NonBotClients.Count() == 1)
                {
                    world.SetPauseState(cachedPause);
                }

                menuRoot.RemoveChild(currentWidget);
                disableSystemButtons = false;
            });

            currentWidget = Game.LoadWidget(world, button.MenuContainer, menuRoot, widgetArgs);
            Game.RunAfterTick(Ui.ResetTooltips);
        }
Esempio n. 5
0
        public MenuScene()
        {
            leafParticleEffectTree1 = new LeafParticleEffect(this);
            leafParticleEffectTree2 = new LeafParticleEffect(this);

            buttonCampaign          = new MenuButtonWidget(this, "Campaign", new Vector2(150, 100), new Vector2(300, 80));
            buttonCampaign.OnClick += ButtonStart_OnClick;

            buttonFreePlay          = new MenuButtonWidget(this, "Free Play", new Vector2(150, 200), new Vector2(300, 80));
            buttonFreePlay.OnClick += ButtonStart_OnClick;

            buttonSettings          = new MenuButtonWidget(this, "Settings", new Vector2(150, 300), new Vector2(300, 80));
            buttonSettings.OnClick += ButtonStart_OnClick;

            clickEffect = new ConfettiParticleEffect(this);
            clickEffect.Stop();
            this.OnDisplay += MenuScene_OnDisplay;

            buttonsEnterScreenAnimation = new LinearAnimation(TimeSpan.FromMilliseconds(500));

            nextCampaignSelectorScene = new WorldMapScene();
        }
Esempio n. 6
0
        void OpenMenuPanel(MenuButtonWidget button, WidgetArgs widgetArgs = null)
        {
            disableSystemButtons = true;
            var cachedPause = world.PredictedPaused;

            if (button.HideIngameUI)
            {
                // Cancel custom input modes (guard, building placement, etc)
                world.CancelInputMode();

                worldRoot.IsVisible = () => false;
            }

            if (button.Pause && world.LobbyInfo.IsSinglePlayer)
                world.SetPauseState(true);

            widgetArgs = widgetArgs ?? new WidgetArgs();
            widgetArgs.Add("onExit", () =>
            {
                if (button.HideIngameUI)
                    worldRoot.IsVisible = () => true;

                if (button.Pause && world.LobbyInfo.IsSinglePlayer)
                    world.SetPauseState(cachedPause);

                menuRoot.RemoveChild(currentWidget);
                disableSystemButtons = false;
            });

            currentWidget = Game.LoadWidget(world, button.MenuContainer, menuRoot, widgetArgs);
            Game.RunAfterTick(Ui.ResetTooltips);
        }