Ejemplo n.º 1
0
        public static void Build(UIHelperBase helper, Settings settings)
        {
            var chatGroup = helper.AddGroup("Chat");

            UICheckBox useChirper = (UICheckBox)chatGroup.AddCheckbox("Use Chirper as chat", settings.UseChirper,
                                                                      c => { settings.UseChirper = c; });
            UICheckBox regularChirper = (UICheckBox)chatGroup.AddCheckbox("Print regular Chirper messages", settings.PrintChirperMsgs.value,
                                                                          c => { settings.PrintChirperMsgs.value = c; });

            if (ModCompat.HasDisableChirperMod)
            {
                useChirper.readOnly     = true;
                useChirper.tooltip      = "Disable Chirper mod detected. Chirper chat is not available.";
                regularChirper.readOnly = true;
                regularChirper.tooltip  = "Disable Chirper mod detected. Chirper chat is not available.";
            }

            var advancedGroup = helper.AddGroup("Advanced");

            UICheckBox cb = (UICheckBox)advancedGroup.AddCheckbox("Enable debug logging (requires game restart)", settings.DebugLogging.value,
                                                                  c => { settings.DebugLogging.value = c; });

            cb.tooltip = "Note: This may cause excessive logging and slow down the game!";

            advancedGroup.AddButton("Show Release Notes", () =>
            {
                MessagePanel panel = PanelManager.ShowPanel <MessagePanel>();
                panel.DisplayReleaseNotes();
            });
        }
Ejemplo n.º 2
0
        public override void Start()
        {
            // Activates the dragging of the window
            AddUIComponent(typeof(UIDragHandle));

            backgroundSprite = "GenericPanel";
            color            = new Color32(110, 110, 110, 250);

            // Grab the view for calculating width and height of game
            UIView view = UIView.GetAView();

            // Center this window in the game
            relativePosition = new Vector3(view.fixedWidth / 2.0f - 180.0f, view.fixedHeight / 2.0f - 100.0f);

            width  = 360;
            height = 240;

            // Handle visible change events
            eventVisibilityChanged += (component, visible) =>
            {
                if (!visible)
                {
                    return;
                }

                RefreshState();
            };

            this.CreateTitleLabel("Multiplayer Menu", new Vector3(80, -20, 0));

            // Manage server button
            _serverManageButton = this.CreateButton("Manage Server", new Vector2(10, -60));
            Hide(_serverManageButton);

            // Close server button
            _disconnectButton = this.CreateButton("Stop Server", new Vector2(10, -130));

            // Show Player Pointers
            _playerPointers = this.CreateCheckBox("Show Player Pointers", new Vector2(10, -210));
            _playerPointers.eventClicked += (component, param) =>
            {
                showPlayerPointers = _playerPointers.isChecked;
            };

            _disconnectButton.eventClick += (component, param) =>
            {
                isVisible = false;
                MultiplayerManager.Instance.StopEverything();
            };

            _serverManageButton.eventClick += (component, param) =>
            {
                PanelManager.ShowPanel <ManageGamePanel>();

                isVisible = false;
            };

            base.Start();

            RefreshState();
        }