private void UpdateOwnerGui() { long?owner; bool propertyMixed = GetOwnershipStatus(out owner); m_transferToCombobox.ClearItems(); if (!propertyMixed && !owner.HasValue) { return; //selected block without id module } if (propertyMixed || owner.Value != 0) { m_transferToCombobox.AddItem(0, MyTexts.Get(MySpaceTexts.BlockOwner_Nobody)); } if (propertyMixed || owner.Value != MySession.Static.LocalPlayerId) { m_transferToCombobox.AddItem(MySession.Static.LocalPlayerId, MyTexts.Get(MySpaceTexts.BlockOwner_Me)); } foreach (var playerEntry in Sync.Players.GetOnlinePlayers()) { var identity = playerEntry.Identity; if (identity.IdentityId != MySession.Static.LocalPlayerId && !identity.IsDead) { var relation = MySession.Static.LocalHumanPlayer.GetRelationTo(identity.IdentityId); if (relation != VRage.Game.MyRelationsBetweenPlayerAndBlock.Enemies) { m_transferToCombobox.AddItem(identity.IdentityId, new StringBuilder(identity.DisplayName)); } } } foreach (var identityId in Sync.Players.GetNPCIdentities()) { var identity = Sync.Players.TryGetIdentity(identityId); Debug.Assert(identity != null, "Couldn't find NPC identity!"); if (identity == null) { continue; } var relation = MySession.Static.LocalHumanPlayer.GetRelationTo(identity.IdentityId); m_transferToCombobox.AddItem(identity.IdentityId, new StringBuilder(identity.DisplayName)); } if (!propertyMixed) { if (owner.Value == MySession.Static.LocalPlayerId) { m_shareModeCombobox.Enabled = true; } else { m_shareModeCombobox.Enabled = false; } if (owner.Value == 0) { m_transferToCombobox.Enabled = true; m_ownerLabel.TextEnum = MySpaceTexts.BlockOwner_Nobody; } else { m_transferToCombobox.Enabled = owner.Value == MySession.Static.LocalPlayerId; m_ownerLabel.TextEnum = MySpaceTexts.BlockOwner_Me; if (owner.Value != MySession.Static.LocalPlayerId) { var identity = Sync.Players.TryGetIdentity(owner.Value); if (identity != null) { m_ownerLabel.Text = identity.DisplayName + (identity.IsDead ? " [" + MyTexts.Get(MyCommonTexts.PlayerInfo_Dead).ToString() + "]" : ""); } else { m_ownerLabel.TextEnum = MySpaceTexts.BlockOwner_Unknown; } } } MyOwnershipShareModeEnum?shareMode; propertyMixed = GetShareMode(out shareMode); m_canChangeShareMode = false; if (!propertyMixed && shareMode.HasValue && owner.Value != 0) { m_shareModeCombobox.SelectItemByKey((long)shareMode.Value); } else { m_shareModeCombobox.SelectItemByIndex(-1); } m_canChangeShareMode = true; } else { m_shareModeCombobox.Enabled = true; m_ownerLabel.Text = ""; m_canChangeShareMode = false; m_shareModeCombobox.SelectItemByIndex(-1); m_canChangeShareMode = true; } }
void UdpateCuesCombo(MyGuiControlCombobox box) { box.ClearItems(); long key = 0; foreach (var cue in MyAudio.Static.CueDefinitions) { if ((m_currentCategorySelectedItem == ALL_CATEGORIES) || (m_currentCategorySelectedItem == cue.Category.ToString())) { box.AddItem(key, new StringBuilder(cue.SubtypeId.ToString())); key++; } } box.SortItemsByValueText(); if (box.GetItemsCount() > 0) box.SelectItemByIndex(0); }
void RecreateOwnershipControls() { bool ownershipBlockPresent = false; foreach (var block in m_currentBlocks) { if (block.IDModule != null) { ownershipBlockPresent = true; } } if (ownershipBlockPresent && MyFakes.SHOW_FACTIONS_GUI) { m_ownershipLabel.Visible = true; m_ownerLabel.Visible = true; m_transferToLabel.Visible = true; m_transferToCombobox.Visible = true; m_shareModeCombobox.Visible = true; if (m_npcButton != null) { m_npcButton.Visible = true; } } else { m_ownershipLabel.Visible = false; m_ownerLabel.Visible = false; m_transferToLabel.Visible = false; m_transferToCombobox.Visible = false; m_shareModeCombobox.Visible = false; if (m_npcButton != null) { m_npcButton.Visible = false; } return; } var topLeftRelative = Vector2.One * -0.5f; Vector2 leftColumnSize = new Vector2(0.3f, 0.55f); m_ownershipLabel.Position = topLeftRelative + new Vector2(leftColumnSize.X + 0.22f, 0.38f); m_ownerLabel.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER; m_ownerLabel.Position = topLeftRelative + new Vector2(leftColumnSize.X + 0.46f, 0.38f); m_transferToLabel.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP; m_transferToLabel.Position = topLeftRelative + new Vector2(leftColumnSize.X + 0.22f, 0.405f); m_transferToCombobox.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP; m_transferToCombobox.Position = topLeftRelative + new Vector2(leftColumnSize.X + 0.32f, 0.4f); m_shareModeCombobox.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP; m_shareModeCombobox.Position = topLeftRelative + new Vector2(leftColumnSize.X + 0.22f, 0.45f); m_shareModeCombobox.ClearItems(); m_shareModeCombobox.AddItem((long)MyOwnershipShareModeEnum.None, MyTexts.Get(MySpaceTexts.BlockOwner_ShareNone)); m_shareModeCombobox.AddItem((long)MyOwnershipShareModeEnum.Faction, MyTexts.Get(MySpaceTexts.BlockOwner_ShareFaction)); m_shareModeCombobox.AddItem((long)MyOwnershipShareModeEnum.All, MyTexts.Get(MySpaceTexts.BlockOwner_ShareAll)); UpdateOwnerGui(); }
public override void RecreateControls(bool constructor) { base.RecreateControls(constructor); m_scale = 0.7f; AddCaption("Cutscenes", Color.Yellow.ToVector4()); AddShareFocusHint(); m_currentPosition = -m_size.Value / 2.0f + new Vector2(0.02f, 0.10f); m_comboCutscenes = AddCombo(); m_playButton = AddButton(new StringBuilder("Play"), onClick_PlayButton); m_addCutsceneButton = AddButton(new StringBuilder("Add cutscene"), onClick_AddCutsceneButton); m_deleteCutsceneButton = AddButton(new StringBuilder("Delete cutscene"), onClick_DeleteCutsceneButton); m_currentPosition.Y += 0.01f; AddLabel("Nodes", Color.Yellow.ToVector4(), 1); m_comboNodes = AddCombo(); m_comboNodes.ItemSelected += m_comboNodes_ItemSelected; m_addNodeButton = AddButton(new StringBuilder("Add node"), onClick_AddNodeButton); m_deleteNodeButton = AddButton(new StringBuilder("Delete node"), onClick_DeleteNodeButton); m_nodeTimeSlider = AddSlider("Node time", 0, 0, 100, OnNodeTimeChanged); var cutscenes = MySession.Static.GetComponent<MySessionComponentCutscenes>(); m_comboCutscenes.ClearItems(); foreach (var key in cutscenes.GetCutscenes().Keys) { m_comboCutscenes.AddItem(key.GetHashCode(), key); } m_comboCutscenes.SortItemsByValueText(); m_comboCutscenes.ItemSelected += m_comboCutscenes_ItemSelected; AddLabel("Waypoints", Color.Yellow.ToVector4(), 1); m_comboWaypoints = AddCombo(); m_comboWaypoints.ItemSelected += m_comboWaypoints_ItemSelected; m_currentPosition.Y += 0.01f; m_spawnButton = AddButton(new StringBuilder("Spawn entity"), onSpawnButton); m_removeAllButton = AddButton(new StringBuilder("Remove all"), onRemoveAllButton); if (m_comboCutscenes.GetItemsCount() > 0) m_comboCutscenes.SelectItemByIndex(0); }