コード例 #1
0
        private void SetInfoBarControls()
        {
            //Settings button
            TopStatusBarInstance.MenuButtonInstanceClick        += OnMenuButtonClick;
            TopStatusBarInstance.PauseButtonInstanceClick       += OnPauseButtonClick;
            TopStatusBarInstance.PlayButtonInstanceClick        += OnPlayButtonClick;
            TopStatusBarInstance.FastForwardButtonInstanceClick += OnFastForwardButtonClick;

            MenuWindowInstance.AssignEventToCloseButton(OnMenuCloseButtonClick);
            MenuWindowInstance.AssignEventToButton1((window) =>
                                                    ConfirmationWindowInstance.Confirm("Quit level and lose current progress?", () =>
            {
                AnalyticsManager.FlushDeferredEvents();
                LoadingScreen.TransitionToScreen(typeof(MapScreen));
            })
                                                    );
            MenuWindowInstance.ButtonType2State = ButtonFrameRuntime.ButtonType.Restart;
            MenuWindowInstance.AssignEventToButton2((window) =>
                                                    ConfirmationWindowInstance.Confirm("Restart level and lose current progress?", () =>
            {
                RestartLevel(window);
            })
                                                    );

            if (CurrentLevel.MapName != "Chapter1")
            {
                //MenuWindowInstance.ButtonType3State = ButtonFrameRuntime.ButtonType.History;
                //MenuWindowInstance.AssignEventToButton3(window =>
                //{
                //    ChatHistoryInstance.PopulateWithAllChatHistory();
                //    ChatHistoryInstance.Visible = true;
                //    ChatHistoryInstance.CloseButtonClick = (sender, args) => ChatHistoryInstance.Visible = false;
                //});
            }
        }
コード例 #2
0
        private void AssignClickEventsAndStatusToButtons()
        {
            var nextLevel = PlayerDataManager.LastLevelNumberCompleted + 1;
            var results   = PlayerDataManager.LevelResults;

            foreach (var element in MapScreenGumInstance.ContainedElements)
            {
                if (element is LevelButtonRuntime levelButton)
                {
                    if (results.Any(lr => lr.LevelName + "Level" == levelButton.LevelName))
                    {
                        //TODO:  Show level as completed
                        levelButton.Visible = true;
                        levelButton.Disable();
                    }
                    else if (levelButton.LevelAsNumber == nextLevel)
                    {
                        levelButton.Click  += LoadLevel;
                        levelButton.Visible = true;
                    }
                    else
                    {
                        levelButton.Visible = false;
                        levelButton.Disable();
                    }
                }
                if (element is ButtonFrameRuntime optionsButton)
                {
                    optionsButton.Click += ShowMenu;
                }
                if (element is MenuWindowRuntime menuWindow)
                {
                    menuWindow.AssignEventToCloseButton(window => MapScreenGumInstance.HideMenuAnimation.Play(this));
                    menuWindow.AssignEventToButton1(window =>
                    {
                        ConfirmationWindowInstance.Confirm("Exit and return to desktop?", () =>
                        {
                            LocalLogManager.AddLine("Main Menu - Exiting game");
                            PlayerDataManager.SaveData();
                            FlatRedBallServices.Game.Exit();
                        });
                    });
                    //menuWindow.ButtonType3State = ButtonFrameRuntime.ButtonType.Disabled;
                    menuWindow.AssignEventToButton3(window =>
                    {
                        LocalLogManager.AddLine("Main Menu - Show chat history");
                        ChatHistoryInstance.PopulateWithAllChatHistory();
                        ChatHistoryInstance.Visible = true;
                    });
                    menuWindow.AssignEventToButton4(window => OkMessageInstance.ShowMessage(Messages["Intro"].MessageText));
                }
            }
            ChatHistoryInstance.CloseButtonClick += (sender, args) =>
            {
                ChatHistoryInstance.Children.Clear();
                ChatHistoryInstance.Visible = false;
            };
        }