protected MyGuiControlCheckbox AddCheckBox(String text, MyDebugComponent component, List <MyGuiControlBase> controlGroup = null, Vector4?color = null, Vector2?checkBoxOffset = null) { MyGuiControlCheckbox checkBox = AddCheckBox(text, true, controlGroup, color, checkBoxOffset); checkBox.IsChecked = component.Enabled; checkBox.IsCheckedChanged = delegate(MyGuiControlCheckbox sender) { component.Enabled = sender.IsChecked; }; return(checkBox); }
void SoloChanged(MyGuiControlCheckbox checkbox) { if (m_canUpdateValues) { if (checkbox.IsChecked) { MyAudio.Static.SoloCue = m_currentCue; } else { MyAudio.Static.SoloCue = null; } } }
public void OnMyCheckEnable(MyGuiControlCheckbox sender) { foreach (MyPrefabLight prefabLight in m_prefabLights) { MyLight myLight = prefabLight.GetLight(); float oldIntensity = myLight.Intensity; // Keep old intensity, because Start() will reset it to 1 MyGuiControlCheckbox other; MyLight.LightTypeEnum lightType; if (sender == m_pointLightCheckbox) { other = m_hemisphereLightCheckbox; lightType = MyLight.LightTypeEnum.PointLight; } else if (sender == m_hemisphereLightCheckbox) { other = m_pointLightCheckbox; lightType = MyLight.LightTypeEnum.Hemisphere; } else // (sender == m_spotLightCheckbox) { other = null; lightType = MyLight.LightTypeEnum.Spotlight; } if (sender.Checked) { myLight.Start(lightType | myLight.LightType, myLight.Falloff); myLight.GlareOn = true; if (other != null) { other.Checked = false; // only one of Point and Hemisphere can be checked } } else { myLight.Start((~lightType & myLight.LightType), myLight.Falloff); myLight.GlareOn = true; } myLight.Intensity = oldIntensity; // Set previous intensity prefabLight.OnWorldPositionChanged(this); prefabLight.UpdateEffect(); } OnComponentChange(null); }
protected void IsMuteCheckedChanged(MyGuiControlCheckbox obj) { // some mute player checkbox is changed ulong userId = (ulong)obj.UserData; if (obj.IsChecked) { MutePlayer(userId); } else { UnmutePlayer(userId); } }
public void CreateControls(Vector2 controlsOrigin, Vector2 sliderOffset) { float sliderMax = 1000f; AddActivatedCheckbox(controlsOrigin, Scanner.Activated); AddIdTextBox(new Vector2(-0.17f, controlsOrigin.Y), Scanner.EntityId.Value.NumericValue); //Width slider m_widthSize = new MyGuiControlSize(this, controlsOrigin + new Vector2(0.4f, 0f) + 1 * CONTROLS_DELTA, new Vector2(0.8f, MyGuiConstants.SLIDER_HEIGHT), Vector4.Zero, null, 0f, 0.1f, sliderMax, MyTextsWrapper.Get(MyTextsWrapperEnum.Width), MyGuiSizeEnumFlags.All, sliderOffset.X); Controls.Add(m_widthSize); //Height slider m_heightSize = new MyGuiControlSize(this, controlsOrigin + new Vector2(0.4f, 0f) + 2 * CONTROLS_DELTA, new Vector2(0.8f, MyGuiConstants.SLIDER_HEIGHT), Vector4.Zero, null, 0f, 0.1f, sliderMax, MyTextsWrapper.Get(MyTextsWrapperEnum.Height), MyGuiSizeEnumFlags.All, sliderOffset.X); Controls.Add(m_heightSize); //Depth slider m_depthSize = new MyGuiControlSize(this, controlsOrigin + new Vector2(0.4f, 0f) + 3 * CONTROLS_DELTA, new Vector2(0.8f, MyGuiConstants.SLIDER_HEIGHT), Vector4.Zero, null, 0f, 0.1f, sliderMax, MyTextsWrapper.Get(MyTextsWrapperEnum.Depth), MyGuiSizeEnumFlags.All, sliderOffset.X); Controls.Add(m_depthSize); //Scanning speed slider m_scanningSpeedSize = new MyGuiControlSize(this, controlsOrigin + new Vector2(0.4f, 0f) + 4 * CONTROLS_DELTA, new Vector2(0.8f, MyGuiConstants.SLIDER_HEIGHT), Vector4.Zero, null, 0f, 0.1f, sliderMax, MyTextsWrapper.Get(MyTextsWrapperEnum.ScanningSpeed), MyGuiSizeEnumFlags.All, 0.3f); Controls.Add(m_scanningSpeedSize); // Color Vector2 colorPosition = controlsOrigin + 5 * CONTROLS_DELTA; m_colorDrawPosition = colorPosition + sliderOffset; Controls.Add(new MyGuiControlLabel(this, colorPosition, null, MyTextsWrapperEnum.Color, MyGuiConstants.LABEL_TEXT_COLOR, MyGuiConstants.LABEL_TEXT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER)); MyTextsWrapperEnum[] colorNames = { MyTextsWrapperEnum.Red, MyTextsWrapperEnum.Green, MyTextsWrapperEnum.Blue }; m_colorSlider = new MyGuiControlSlider[3]; //color sliders for (int i = 0; i < 3; i++) { Controls.Add(new MyGuiControlLabel(this, controlsOrigin + (6 + i) * CONTROLS_DELTA, null, colorNames[i], MyGuiConstants.LABEL_TEXT_COLOR, MyGuiConstants.LABEL_TEXT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER)); m_colorSlider[i] = new MyGuiControlSlider(this, (sliderOffset + controlsOrigin) + (6 + i) * CONTROLS_DELTA, MyGuiConstants.SLIDER_WIDTH, MyEditorConstants.COLOR_COMPONENT_MIN_VALUE, MyEditorConstants.COLOR_COMPONENT_MAX_VALUE, MyGuiConstants.SLIDER_BACKGROUND_COLOR, new StringBuilder(), MyGuiConstants.SLIDER_WIDTH_LABEL, 0, MyGuiConstants.LABEL_TEXT_SCALE * 0.85f * 0.75f); Controls.Add(m_colorSlider[i]); } Controls.Add(new MyGuiControlLabel(this, controlsOrigin + 9 * CONTROLS_DELTA, null, MyTextsWrapperEnum.On, MyGuiConstants.LABEL_TEXT_COLOR, MyGuiConstants.LABEL_TEXT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER)); m_onCheckbox = new MyGuiControlCheckbox(this, controlsOrigin + sliderOffset + 9 * CONTROLS_DELTA, Scanner.Enabled, MyGuiConstants.CHECKBOX_BACKGROUND_COLOR); Controls.Add(m_onCheckbox); }
private static void OnCheckboxChanged(MyGuiControlCheckbox obj) { if (obj == null) { return; } if (obj.IsChecked) { if (Static.GetSelectedTagsLength() >= TAGS_MAX_LENGTH) { obj.IsChecked = false; } } }
protected MyGuiControlCheckbox AddCheckBox(String text, bool checkedState, Action <MyGuiControlCheckbox> checkBoxChange, bool enabled = true, List <MyGuiControlBase> controlGroup = null, Vector4?color = null, Vector2?checkBoxOffset = null) { MyGuiControlCheckbox checkBox = AddCheckBox(text, enabled, controlGroup, color, checkBoxOffset); checkBox.IsChecked = checkedState; if (checkBoxChange != null) { checkBox.IsCheckedChanged = delegate(MyGuiControlCheckbox sender) { checkBoxChange(sender); ValueChanged(sender); }; } return(checkBox); }
private MyGuiControlCheckbox CreateCheckbox(Action <MyGuiControlCheckbox> onCheckedChanged, bool isChecked) { var checkBox = new MyGuiControlCheckbox( visualStyle: MyGuiControlCheckboxStyleEnum.Debug, originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, isChecked: isChecked ); checkBox.Size = ITEM_SIZE; checkBox.IsCheckedChanged += onCheckedChanged; Controls.Add(checkBox); return(checkBox); }
protected void AddPlayer(ulong userId) { //string playerName = SteamAPI.Instance.Friends.GetPersonaName(userId); string playerName = MyMultiplayer.Static.GetMemberName(userId); if (String.IsNullOrEmpty(playerName)) { return; } var row = new MyGuiControlTable.Row(userData: userId); row.AddCell(new MyGuiControlTable.Cell(text: new StringBuilder(playerName), userData: playerName)); var playerId = Sync.Players.TryGetIdentityId(userId); var faction = MySession.Static.Factions.GetPlayerFaction(playerId); row.AddCell(new MyGuiControlTable.Cell(text: new StringBuilder(faction != null ? faction.Tag : ""))); row.AddCell(new MyGuiControlTable.Cell(text: new StringBuilder(faction != null ? faction.Name : ""))); // cell with/without mute checkbox MyGuiControlTable.Cell cell = new MyGuiControlTable.Cell(text: new StringBuilder("")); row.AddCell(cell); if (MyPerGameSettings.EnableMutePlayer && userId != Sync.MyId) { MyGuiControlCheckbox check = new MyGuiControlCheckbox(toolTip: "", visualStyle: MyGuiControlCheckboxStyleEnum.Muted); check.IsChecked = MySandboxGame.Config.MutedPlayers.Contains(userId); check.IsCheckedChanged += IsMuteCheckedChanged; check.UserData = userId; cell.Control = check; m_playersTable.Controls.Add(check); } // cell with admin marker StringBuilder adminString = new StringBuilder(); MyPromoteLevel userLevel = MySession.Static.GetUserPromoteLevel(userId); for (int i = 0; i < (int)userLevel; i++) { adminString.Append("*"); } row.AddCell(new MyGuiControlTable.Cell(adminString)); m_playersTable.Add(row); }
void Init() { m_enableBackgroundFade = true; m_size = new Vector2(0.8f, 0.4f); // Add screen title AddCaption(); Vector2 originDelta = new Vector2(0.05f, 0.02f); Vector2 controlsOriginLeft = GetControlsOriginLeftFromScreenSize() + originDelta; AddActivatedCheckbox(controlsOriginLeft, Prefab.Activated); m_onLabel = new MyGuiControlLabel(this, controlsOriginLeft + 1 * MyGuiConstants.CONTROLS_DELTA, null, MyTextsWrapperEnum.On, MyGuiConstants.LABEL_TEXT_COLOR, MyGuiConstants.LABEL_TEXT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER); Controls.Add(m_onLabel); m_on = new MyGuiControlCheckbox(this, controlsOriginLeft + 1 * MyGuiConstants.CONTROLS_DELTA + new Vector2(0.1f, 0f), Prefab.Enabled, MyGuiConstants.CHECKBOX_BACKGROUND_COLOR); Controls.Add(m_on); m_alarmLabel = new MyGuiControlLabel(this, controlsOriginLeft + 2 * MyGuiConstants.CONTROLS_DELTA, null, MyTextsWrapperEnum.Alarm, MyGuiConstants.LABEL_TEXT_COLOR, MyGuiConstants.LABEL_TEXT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER); Controls.Add(m_alarmLabel); var alarmComboboxPredefinedSize = MyGuiControlPreDefinedSize.MEDIUM; var alarmComboboxSize = MyGuiControlCombobox.GetPredefinedControlSize(alarmComboboxPredefinedSize); m_alarmComboBox = new MyGuiControlCombobox( this, controlsOriginLeft + 2 * MyGuiConstants.CONTROLS_DELTA + new Vector2(0.075f + alarmComboboxSize.X / 2, 0f), alarmComboboxPredefinedSize, MyGuiConstants.COMBOBOX_BACKGROUND_COLOR, MyGuiConstants.COMBOBOX_TEXT_SCALE); m_alarmComboBox.AddItem(0, MyTextsWrapperEnum.Default); m_alarmComboBox.AddItem(1, MyTextsWrapperEnum.On); m_alarmComboBox.AddItem(2, MyTextsWrapperEnum.Off); if (Prefab.DefaultCausesAlarm()) { m_alarmComboBox.SelectItemByKey(0); } else { m_alarmComboBox.SelectItemByKey(Prefab.CausesAlarm ? 1 : 2); } Controls.Add(m_alarmComboBox); AddOkAndCancelButtonControls(); }
public void CheckChanged(MyGuiControlCheckbox sender) { m_gameTypeFilter &= ~MyGameTypes.Deathmatch; m_gameTypeFilter &= ~MyGameTypes.Story; if (m_deathCheck.Checked) { m_gameTypeFilter |= MyGameTypes.Deathmatch; } if (m_storyCheck.Checked) { m_gameTypeFilter |= MyGameTypes.Story; } GetDataFromServer(true); }
private void blockLimits_CheckedChanged(MyGuiControlCheckbox checkbox) { if (!checkbox.IsChecked) { var messageBox = MyGuiSandbox.CreateMessageBox( messageText: MyTexts.Get(MyCommonTexts.MessageBoxTextBlockLimitDisableWarning), messageCaption: MyTexts.Get(MyCommonTexts.MessageBoxCaptionWarning)); MyGuiSandbox.AddScreen(messageBox); Settings.MaxBlocksPerPlayer = 0; Settings.MaxGridSize = 0; } else { Settings.MaxBlocksPerPlayer = 100000; Settings.MaxGridSize = 50000; } }
public MyGuiScreenOptionsGame() : base(new Vector2(0.5f, 0.5f), MyGuiConstants.SCREEN_BACKGROUND_COLOR, null) { m_enableBackgroundFade = true; m_size = new Vector2(0.51f, 0.525f); //m_backgroundTexture = MyTextureManager.GetTexture<MyTexture2D>("Textures\\GUI\\GameOptionsBackground", flags: TextureFlags.IgnoreQuality); AddCaption(MyTextsWrapperEnum.GameOptions, new Vector2(0, 0.005f)); Vector2 controlsOriginLeft = new Vector2(-m_size.Value.X / 2.0f + 0.05f, -m_size.Value.Y / 2.0f + 0.125f); Vector2 controlsOriginRight = new Vector2(-m_size.Value.X / 2.0f + 0.175f, -m_size.Value.Y / 2.0f + 0.125f); Vector2 controlsDelta = new Vector2(0, 0.0525f); // Language Controls.Add(new MyGuiControlLabel(this, controlsOriginLeft + 0 * controlsDelta, null, MyTextsWrapperEnum.Language, MyGuiConstants.LABEL_TEXT_COLOR, MyGuiConstants.LABEL_TEXT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER)); m_languageCombobox = new MyGuiControlCombobox(this, controlsOriginRight + 0 * controlsDelta + new Vector2(MyGuiConstants.COMBOBOX_MEDIUM_SIZE.Y / 2.0f + 0.1f, 0), MyGuiControlPreDefinedSize.MEDIUM, MyGuiConstants.COMBOBOX_BACKGROUND_COLOR, MyGuiConstants.COMBOBOX_TEXT_SCALE); m_languageCombobox.AddItem((int)MyLanguagesEnum.English, MyTextsWrapperEnum.LanguageEnglish); m_languageCombobox.AddItem((int)MyLanguagesEnum.Cesky, MyTextsWrapperEnum.LanguageCesky); Controls.Add(m_languageCombobox); // Subtitles Controls.Add(new MyGuiControlLabel(this, controlsOriginLeft + 1 * controlsDelta, null, MyTextsWrapperEnum.Subtitles, MyGuiConstants.LABEL_TEXT_COLOR, MyGuiConstants.LABEL_TEXT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER)); m_subtitlesCheckbox = new MyGuiControlCheckbox(this, controlsOriginRight + 1 * controlsDelta + new Vector2(MyGuiConstants.CHECKBOX_SIZE.X / 2.0f + 0.1f, 0), true, MyGuiConstants.CHECKBOX_BACKGROUND_COLOR); Controls.Add(m_subtitlesCheckbox); // Notifications Controls.Add(new MyGuiControlLabel(this, controlsOriginLeft + 2 * controlsDelta, null, MyTextsWrapperEnum.Notifications, MyGuiConstants.LABEL_TEXT_COLOR, MyGuiConstants.LABEL_TEXT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER)); m_notificationsCheckbox = new MyGuiControlCheckbox(this, controlsOriginRight + 2 * controlsDelta + new Vector2(MyGuiConstants.CHECKBOX_SIZE.X / 2.0f + 0.1f, 0), true, MyGuiConstants.CHECKBOX_BACKGROUND_COLOR); Controls.Add(m_notificationsCheckbox); // Buttons OK and CANCEL Vector2 buttonDelta = new Vector2(0.1f, m_size.Value.Y / 2.0f - MyGuiConstants.MESSAGE_BOX_BORDER_AREA_Y - MyGuiConstants.MESSAGE_BOX_BUTTON_SIZE.Y / 2.0f - 0.03f); Controls.Add(new MyGuiControlButton(this, new Vector2(-buttonDelta.X, buttonDelta.Y), MyGuiConstants.MESSAGE_BOX_BUTTON_SIZE, MyGuiConstants.BUTTON_BACKGROUND_COLOR, MyTextsWrapperEnum.Ok, MyGuiConstants.BUTTON_TEXT_COLOR, MyGuiConstants.BUTTON_TEXT_SCALE, OnOkClick, MyGuiControlButtonTextAlignment.CENTERED, true, MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER, true)); Controls.Add(new MyGuiControlButton(this, new Vector2(+buttonDelta.X, buttonDelta.Y), MyGuiConstants.MESSAGE_BOX_BUTTON_SIZE, MyGuiConstants.BUTTON_BACKGROUND_COLOR, MyTextsWrapperEnum.Cancel, MyGuiConstants.BUTTON_TEXT_COLOR, MyGuiConstants.BUTTON_TEXT_SCALE, OnCancelClick, MyGuiControlButtonTextAlignment.CENTERED, true, MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER, true)); // Update controls with values from config file UpdateControls(); }
void OnMothershipStartFlagChange(MyGuiControlCheckbox sender) { if (!m_canUpdateValues) { return; } // Make sure there's only one start location per sector if (m_mothershipStart.Checked && (DummyPoint.DummyFlags & MyDummyPointFlags.MOTHERSHIP_START) == 0) { foreach (var entity in MyEntities.GetEntities()) { var dummyPoint = entity as MyDummyPoint; if (dummyPoint != null && (dummyPoint.DummyFlags & MyDummyPointFlags.MOTHERSHIP_START) > 0) { MyGuiManager.AddScreen(new MyGuiScreenMessageBox(MyMessageBoxType.ERROR, MyTextsWrapperEnum.EntryPointAlreadyDefined, MyTextsWrapperEnum.MessageBoxCaptionError, MyTextsWrapperEnum.Yes, MyTextsWrapperEnum.Cancel, mbReturn => { if (mbReturn == MyGuiScreenMessageBoxCallbackEnum.YES) { MyEditorGizmo.ClearSelection(); MyEditorGizmo.AddEntityToSelection(dummyPoint); CloseScreen(); } else { m_mothershipStart.Checked = false; } })); return; } } } if (m_mothershipStart.Checked) { DummyPoint.DummyFlags |= MyDummyPointFlags.MOTHERSHIP_START; } else { DummyPoint.DummyFlags &= ~MyDummyPointFlags.MOTHERSHIP_START; } UpdateValues(); }
public override void RecreateControls(bool constructor) { if (!_allowControls) { return; } this.m_checkboxEnableVR = new MyGuiControlCheckbox(null, null, "Enable VR mode"); base.RecreateControls(constructor); if (!constructor) { return; } Debug.Assert(m_size.HasValue); MyGuiDrawAlignEnum originAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP; Vector2 value = new Vector2(90f) / MyGuiConstants.GUI_OPTIMAL_SIZE; Vector2 value2 = new Vector2(54f) / MyGuiConstants.GUI_OPTIMAL_SIZE; float num = 455f / MyGuiConstants.GUI_OPTIMAL_SIZE.X; float num2 = 25f; float y = MyGuiConstants.SCREEN_CAPTION_DELTA_Y * 0.5f; float num3 = 0.0015f; Vector2 value3 = new Vector2(0f, 0.045f); float num4 = 0f; Vector2 value4 = (this.m_size.Value / 2f - value) * new Vector2(-1f, -1f) + new Vector2(0f, y); Vector2 value5 = (this.m_size.Value / 2f - value) * new Vector2(1f, -1f) + new Vector2(0f, y); Vector2 value6 = (this.m_size.Value / 2f - value2) * new Vector2(0f, 1f); Vector2 value7 = new Vector2(value5.X - (num + num3), value5.Y); num4 -= 0.045f; num4 += 3; num4 += .45f; num4 += .66f; num4 += 2.0f; MyGuiControlLabel lblEnableVr = new MyGuiControlLabel(null, null, "Enable VR", null) { Position = value4 + num4 * value3, OriginAlign = originAlign }; m_checkboxEnableVR.Position = value7 + num4 * value3; m_checkboxEnableVR.OriginAlign = originAlign; Controls.Add(lblEnableVr); Controls.Add(m_checkboxEnableVR); }
private void ShowModelsChange(MyGuiControlCheckbox sender, List<MyEntity> entities, string modelPath, MyMeshDrawTechnique? drawTechnique = null, bool staticAsteroids = false, MyMwcVoxelMaterialsEnum? voxelMaterial = null, List<MyMwcObjectBuilder_StaticAsteroid_TypesEnum> asteroidEnums = null) { if (sender.Checked) { string[] modelNames = Enum.GetNames(typeof(MyModelsEnum)); int numModels = modelNames.Length; Vector3 forward = MySession.PlayerShip.GetWorldRotation().Forward; Vector3 currentPosition = MySession.PlayerShip.GetPosition() + forward * 20; if (!staticAsteroids) { for (int i = 0; i < numModels; i++) { if (!MyModels.GetModelAssetName((MyModelsEnum)i).StartsWith(modelPath)) continue; MyModel model = MyModels.GetModelOnlyData((MyModelsEnum)i); MyEntity debugDebris = addDebris(new StringBuilder(modelNames[i]), (MyModelsEnum)i, null, ref currentPosition, forward, drawTechnique); MyEntities.Add(debugDebris); entities.Add(debugDebris); } } else { //foreach(MyMwcObjectBuilder_StaticAsteroid_TypesEnum statEnum in Enum.GetValues(typeof(MyMwcObjectBuilder_StaticAsteroid_TypesEnum))) foreach(MyMwcObjectBuilder_StaticAsteroid_TypesEnum statEnum in asteroidEnums) { MyEntity debugDebris = addStaticAsteroid(new StringBuilder(statEnum.ToString()), statEnum, ref currentPosition, forward, null, voxelMaterial.Value); MyEntities.Add(debugDebris); entities.Add(debugDebris); } } } else { foreach (MyEntity entity in entities) { entity.MarkForClose(); } entities.Clear(); } }
public override void RecreateControls(bool constructor) { base.RecreateControls(constructor); AddCaption(MyTexts.GetString(MyCommonTexts.PerformanceWarningHelpHeader)); m_warningsList = new MyGuiControlList(position: new Vector2(0f, -0.05f), size: new Vector2(0.92f, 0.7f)); var m_showWarningsLabel = new MyGuiControlLabel( text: MyTexts.GetString(MyCommonTexts.ScreenOptionsGame_EnablePerformanceWarnings), position: new Vector2(-0.17f, 0.35f), originAlign: VRage.Utils.MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER ); m_showWarningsCheckBox = new MyGuiControlCheckbox( toolTip: MyTexts.GetString(MyCommonTexts.ToolTipGameOptionsEnablePerformanceWarnings), position: new Vector2(-0.15f, 0.35f), originAlign: VRage.Utils.MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER ); m_showWarningsCheckBox.IsChecked = MySandboxGame.Config.EnablePerformanceWarnings; m_showWarningsCheckBox.IsCheckedChanged += ShowWarningsChanged; var m_showAllLabel = new MyGuiControlLabel( text: MyTexts.GetString(MyCommonTexts.PerformanceWarningShowAll), position: new Vector2(0.25f, 0.35f), originAlign: VRage.Utils.MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER ); m_showAllCheckBox = new MyGuiControlCheckbox( toolTip: MyTexts.GetString(MyCommonTexts.ToolTipPerformanceWarningShowAll), position: new Vector2(0.27f, 0.35f), originAlign: VRage.Utils.MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER ); m_showAllCheckBox.IsChecked = m_showAll; m_showAllCheckBox.IsCheckedChanged += KeepInListChanged; m_okButton = new MyGuiControlButton(position: new Vector2(0, 0.42f), text: MyTexts.Get(MyCommonTexts.Ok)); m_okButton.ButtonClicked += m_okButton_ButtonClicked; Controls.Add(m_warningsList); Controls.Add(m_showWarningsLabel); Controls.Add(m_showWarningsCheckBox); Controls.Add(m_showAllLabel); Controls.Add(m_showAllCheckBox); Controls.Add(m_okButton); }
protected void AddPlayer(ulong userId) { //string playerName = SteamAPI.Instance.Friends.GetPersonaName(userId); string playerName = MyMultiplayer.Static.GetMemberName(userId); if (String.IsNullOrEmpty(playerName)) { return; } bool isAdmin = MyMultiplayer.Static.IsAdmin(userId); bool hasAdminRights = MySession.Static.HasPlayerAdminRights(userId); var row = new MyGuiControlTable.Row(userData: userId); row.AddCell(new MyGuiControlTable.Cell(text: new StringBuilder(playerName), userData: playerName)); var playerId = Sync.Players.TryGetIdentityId(userId); var faction = MySession.Static.Factions.GetPlayerFaction(playerId); row.AddCell(new MyGuiControlTable.Cell(text: new StringBuilder(faction != null ? faction.Tag : ""))); row.AddCell(new MyGuiControlTable.Cell(text: new StringBuilder(faction != null ? faction.Name : ""))); // cell with/without mute checkbox MyGuiControlTable.Cell cell = new MyGuiControlTable.Cell(text: new StringBuilder("")); row.AddCell(cell); if (MyPerGameSettings.EnableMutePlayer && userId != Sync.MyId) { MyGuiControlCheckbox check = new MyGuiControlCheckbox(toolTip: "", visualStyle: MyGuiControlCheckboxStyleEnum.Muted); check.IsChecked = MySandboxGame.Config.MutedPlayers.Contains(userId); check.IsCheckedChanged += IsMuteCheckedChanged; check.UserData = userId; cell.Control = check; m_playersTable.Controls.Add(check); } // cell with admin marker string adminString = isAdmin ? GAME_OWNER_MARKER : (hasAdminRights ? GAME_MASTER_MARKER : String.Empty); row.AddCell(new MyGuiControlTable.Cell(text: new StringBuilder(adminString))); m_playersTable.Add(row); }
void Init() { m_enableBackgroundFade = true; m_size = new Vector2(0.92f, 0.95f); // Add screen title AddCaption(); Vector2 originDelta = new Vector2(0.02f, 0); Vector2 controlsOriginLeft = GetControlsOriginLeftFromScreenSize() + originDelta; Vector2 controlsOriginRight = GetControlsOriginRightFromScreenSize() + originDelta; m_label = new MyGuiControlLabel(this, controlsOriginLeft, null, MyTextsWrapperEnum.On, MyGuiConstants.LABEL_TEXT_COLOR, MyGuiConstants.LABEL_TEXT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER); Controls.Add(m_label); m_on = new MyGuiControlCheckbox(this, controlsOriginLeft + new Vector2(0.1f, 0f), PrefabKinematic.CanOpen, MyGuiConstants.CHECKBOX_BACKGROUND_COLOR); Controls.Add(m_on); AddOkAndCancelButtonControls(); }
private void OnCheckboxChecked(MyGuiControlCheckbox sender) { if (sender.Checked) { // projected m_voxelShapeDistanceSlider.SetBounds(MyVoxelConstants.MIN_PROJECTED_VOXEL_HAND_OFFSET, MyVoxelConstants.MAX_PROJECTED_VOXEL_HAND_OFFSET); OnVoxelHandDistanceChanged(MyVoxelConstants.DEFAULT_PROJECTED_VOXEL_HAND_OFFSET); m_voxelShapeDistanceLabel.UpdateText(MyTextsWrapper.Get(MyTextsWrapperEnum.EditVoxelHandShapeOffset).ToString()); } else { // not projected m_voxelShapeDistanceSlider.SetBounds(MyVoxelConstants.MIN_VOXEL_HAND_DISTANCE, MyVoxelConstants.MAX_VOXEL_HAND_DISTANCE); OnVoxelHandDistanceChanged(MyVoxelConstants.DEFAULT_VOXEL_HAND_DISTANCE); m_voxelShapeDistanceLabel.UpdateText(MyTextsWrapper.Get(MyTextsWrapperEnum.EditVoxelHandShapeDistance).ToString()); } UpdateVoxelHandProperties(); }
private MyGuiControlCheckbox AddCheckBox(String text, bool enabled = true, List <MyGuiControlBase> controlGroup = null, Vector4?color = null, Vector2?checkBoxOffset = null) { MyGuiControlLabel label = new MyGuiControlLabel( position: m_currentPosition, text: text, colorMask: color ?? m_defaultTextColor, textScale: MyGuiConstants.DEFAULT_TEXT_SCALE * MyGuiConstants.DEBUG_LABEL_TEXT_SCALE * m_scale, font: MyFontEnum.Debug); label.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP; float labelWidth = label.GetTextSize().X + 0.02f; m_maxWidth = Math.Max(m_maxWidth, labelWidth); label.Enabled = enabled; Controls.Add(label); Vector2?screenSize = this.GetSize(); MyGuiControlCheckbox checkBox = new MyGuiControlCheckbox( isChecked: false, color: 0.8f * (color ?? m_defaultColor), visualStyle: MyGuiControlCheckboxStyleEnum.Debug, originAlign: MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER); checkBox.Position = m_currentPosition + new Vector2(screenSize.Value.X - checkBox.Size.X, 0) + (checkBoxOffset ?? Vector2.Zero); checkBox.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_TOP; checkBox.Enabled = enabled; Controls.Add(checkBox); m_currentPosition.Y += Math.Max(checkBox.Size.Y, label.Size.Y); if (controlGroup != null) { controlGroup.Add(label); controlGroup.Add(checkBox); } return(checkBox); }
protected void AddGroupBox(StringBuilder text, MyGuiScreenDebugBase screen, List <MyGuiControlBase> controlGroup = null) { MyGuiControlCheckbox checkBox = AddCheckBox(text, screen, controlGroup); s_groupList.Add(checkBox); checkBox.OnCheck += delegate(MyGuiControlCheckbox sender) { if (sender.Checked) { foreach (MyGuiControlCheckbox chb in s_groupList) { if (chb != sender) { chb.Checked = false; } } } }; }
public override void RecreateControls(bool constructor) { base.RecreateControls(constructor); base.m_position = new Vector2(MyGuiManager.GetMaxMouseCoord().X - 0.25f, 0.5f); var layout = new MyLayoutVertical(this, 35f); layout.Advance(20); { layout.Add(new MyGuiControlLabel(text: MyTexts.GetString(MyCommonTexts.BotSettingsScreen_Title)), MyAlignH.Center); } layout.Advance(30); { var enableDebuggingCheckBox = new MyGuiControlCheckbox(isChecked: MyDebugDrawSettings.DEBUG_DRAW_BOTS); enableDebuggingCheckBox.IsCheckedChanged += enableDebuggingCheckBox_IsCheckedChanged; layout.Add(new MyGuiControlLabel(text: MyTexts.GetString(MyCommonTexts.BotSettingsScreen_EnableBotsDebugging)), MyAlignH.Left, advance: false); layout.Add(enableDebuggingCheckBox, MyAlignH.Right); } layout.Advance(15); { MyGuiControlButton nextButton = new MyGuiControlButton( text: MyTexts.Get(MyCommonTexts.BotSettingsScreen_NextBot), onButtonClick: nextButton_OnButtonClick); MyGuiControlButton previousButton = new MyGuiControlButton( text: MyTexts.Get(MyCommonTexts.BotSettingsScreen_PreviousBot), onButtonClick: previousButton_OnButtonClick); layout.Add(nextButton, previousButton); } layout.Advance(30); { layout.Add(new MyGuiControlButton(text: MyTexts.Get(MyCommonTexts.Close), onButtonClick: OnCloseClicked), MyAlignH.Center); } }
public override void RecreateControls(bool constructor) { base.RecreateControls(constructor); m_sizeCombobox = new MyGuiControlCombobox() { OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER, Position = Vector2.Zero, }; foreach (var val in typeof(MyCubeSize).GetEnumValues()) { m_sizeCombobox.AddItem((int)(MyCubeSize)val, new StringBuilder(val.ToString())); } m_sizeCombobox.SelectItemByKey((int)MyCubeSize.Large); m_staticCheckbox = new MyGuiControlCheckbox() { OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER, IsChecked = true, }; var staticLabel = new MyGuiControlLabel() { OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER, Position = new Vector2(m_staticCheckbox.Size.X, 0f), Text = "Static grid" }; var okButton = new MyGuiControlButton() { OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_TOP, Text = "Ok", Position = new Vector2(0f, 0.05f), }; okButton.ButtonClicked += okButton_ButtonClicked; Elements.Add(m_sizeCombobox); Elements.Add(m_staticCheckbox); Elements.Add(staticLabel); Elements.Add(okButton); }
protected MyGuiControlCheckbox AddCheckBox(String text, Func <bool> getter, Action <bool> setter, bool enabled = true, List <MyGuiControlBase> controlGroup = null, Vector4?color = null, Vector2?checkBoxOffset = null) { MyGuiControlCheckbox checkBox = AddCheckBox(text, enabled, controlGroup, color, checkBoxOffset); System.Diagnostics.Debug.Assert(getter != null && setter != null, "Setter or getter was null"); if (getter != null) { checkBox.IsChecked = getter(); } if (setter != null) { checkBox.IsCheckedChanged = delegate(MyGuiControlCheckbox sender) { setter(sender.IsChecked); }; } return(checkBox); }
void Init() { m_enableBackgroundFade = true; m_size = new Vector2(0.8f, 0.4f); // Add screen title AddCaption(); Vector2 originDelta = new Vector2(0.05f, 0.02f); Vector2 controlsOriginLeft = GetControlsOriginLeftFromScreenSize() + originDelta; Vector2 controlsOriginRight = GetControlsOriginRightFromScreenSize() + originDelta; AddActivatedCheckbox(controlsOriginLeft, PrefabContainer.Activated); m_label = new MyGuiControlLabel(this, controlsOriginLeft + 1 * CONTROLS_DELTA, null, MyTextsWrapperEnum.Alarm, MyGuiConstants.LABEL_TEXT_COLOR, MyGuiConstants.LABEL_TEXT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER); Controls.Add(m_label); m_alarmOn = new MyGuiControlCheckbox(this, controlsOriginLeft + 1 * CONTROLS_DELTA + new Vector2(0.1f, 0f), PrefabContainer.AlarmOn, MyGuiConstants.CHECKBOX_BACKGROUND_COLOR); Controls.Add(m_alarmOn); AddOkAndCancelButtonControls(); }
private void checkboxChanged(MyGuiControlCheckbox obj) { if (obj == m_controlHintsCheckbox) { m_settings.ControlHints = obj.IsChecked; } else if (m_rotationHintsCheckbox != null && obj == m_rotationHintsCheckbox) { m_settings.RotationHints = obj.IsChecked; } else if (obj == m_crosshairCheckbox) { m_settings.ShowCrosshair = obj.IsChecked; } else if (obj == m_disableHeadbobCheckbox) { m_settings.DisableHeadbob = obj.IsChecked; } else if (obj == m_compressSavesCheckbox) { m_settings.CompressSaveGames = obj.IsChecked; } else if (obj == m_showPlayerNamesCheckbox) { m_settings.ShowPlayerNamesOnHud = obj.IsChecked; } else if (obj == m_releasingAltResetsCameraCheckbox) { m_settings.ReleasingAltResetsCamera = obj.IsChecked; } else if (obj == m_animatedRotationCheckbox) { m_settings.AnimatedRotation = obj.IsChecked; } else if (obj == m_showBuildingSizeHintCheckbox) { m_settings.ShowBuildingSizeHint = obj.IsChecked; } }
private void OnAlwaysVisibleChecked(MyGuiControlCheckbox sender) { if (m_tableIns.SelectedRow == null) { return; } MyGps gps = m_tableIns.SelectedRow.UserData as MyGps; gps.AlwaysVisible = sender.IsChecked;//will be updated onSuccess but need to be correct for trySync now gps.ShowOnHud = gps.ShowOnHud || gps.AlwaysVisible; // Check Show on HUD without sending it m_checkInsShowOnHud.IsCheckedChanged -= OnShowOnHudChecked; m_checkInsShowOnHud.IsChecked = m_checkInsShowOnHud.IsChecked || sender.IsChecked; m_checkInsShowOnHud.IsCheckedChanged += OnShowOnHudChecked; if (!trySync()) { MySession.Static.Gpss.ChangeAlwaysVisible(MySession.Static.LocalPlayerId, gps.Hash, sender.IsChecked); } }
private void AddGroupBox(String text, Type screenType, List <MyGuiControlBase> controlGroup) { MyGuiControlCheckbox checkBox = AddCheckBox(text, true, null, controlGroup: controlGroup); checkBox.IsChecked = s_activeScreen != null && s_activeScreen.GetType() == screenType; checkBox.UserData = screenType; s_groupList.Add(checkBox); checkBox.IsCheckedChanged += delegate(MyGuiControlCheckbox sender) { var senderScreenType = sender.UserData as Type; if (sender.IsChecked) { foreach (MyGuiControlCheckbox chb in s_groupList) { if (chb != sender) { chb.IsChecked = false; } } var newScreen = (MyGuiScreenBase)Activator.CreateInstance(senderScreenType); newScreen.Closed += (source) => { if (source == s_activeScreen) { s_activeScreen = null; } }; MyGuiSandbox.AddScreen(newScreen); s_activeScreen = newScreen; } else if (s_activeScreen != null && s_activeScreen.GetType() == senderScreenType) { s_activeScreen.CloseScreen(); } }; }
void OnPlayButtonClick(MyGuiControlButton sender) { string bonesArea = ""; foreach (var control in Controls) { if (control is MyGuiControlCheckbox) { MyGuiControlCheckbox chb = control as MyGuiControlCheckbox; if (chb.IsChecked && chb.UserData != null) { bonesArea += " " + chb.UserData; } } } MySession.LocalCharacter.PlayCharacterAnimation( m_animationCombo.GetSelectedValue().ToString(), MyBlendOption.Immediate, m_loopCheckbox.IsChecked ? MyFrameOption.Loop : MyFrameOption.None, m_blendSlider.Value ); }