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(); }); }
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(); }