private MyGuiControlGrid MakeInventoryGrid(MyInventory inventory) { var grid = new MyGuiControlGrid(); grid.Name = "InventoryGrid"; grid.VisualStyle = MyGuiControlGridStyleEnum.Inventory; grid.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP; grid.ColumnsCount = 7; grid.RowsCount = 1; grid.ShowTooltipWhenDisabled = true; grid.UserData = inventory; return grid; }
public void Init(IMyGuiControlsParent controlsParent, MyCubeGrid grid) { if (grid == null) { ShowError(MySpaceTexts.ScreenTerminalError_ShipNotConnected, controlsParent); return; } grid.RaiseGridChanged(); m_assemblerKeyCounter = 0; m_assemblersByKey.Clear(); foreach (var block in grid.GridSystems.TerminalSystem.Blocks) { var assembler = block as MyAssembler; if (assembler == null) continue; if (!assembler.HasLocalPlayerAccess()) continue; m_assemblersByKey.Add(m_assemblerKeyCounter++, assembler); } m_controlsParent = controlsParent; m_terminalSystem = grid.GridSystems.TerminalSystem; m_blueprintsArea = (MyGuiControlScrollablePanel)controlsParent.Controls.GetControlByName("BlueprintsScrollableArea"); m_queueArea = (MyGuiControlScrollablePanel)controlsParent.Controls.GetControlByName("QueueScrollableArea"); m_inventoryArea = (MyGuiControlScrollablePanel)controlsParent.Controls.GetControlByName("InventoryScrollableArea"); m_blueprintsBgPanel = controlsParent.Controls.GetControlByName("BlueprintsBackgroundPanel"); m_blueprintsLabel = controlsParent.Controls.GetControlByName("BlueprintsLabel"); m_comboboxAssemblers = (MyGuiControlCombobox)controlsParent.Controls.GetControlByName("AssemblersCombobox"); m_blueprintsGrid = (MyGuiControlGrid)m_blueprintsArea.ScrolledControl; m_queueGrid = (MyGuiControlGrid)m_queueArea.ScrolledControl; m_inventoryGrid = (MyGuiControlGrid)m_inventoryArea.ScrolledControl; m_materialsList = (MyGuiControlComponentList)controlsParent.Controls.GetControlByName("MaterialsList"); m_repeatCheckbox = (MyGuiControlCheckbox)controlsParent.Controls.GetControlByName("RepeatCheckbox"); m_slaveCheckbox = (MyGuiControlCheckbox)controlsParent.Controls.GetControlByName("SlaveCheckbox"); m_disassembleAllButton = (MyGuiControlButton)controlsParent.Controls.GetControlByName("DisassembleAllButton"); m_controlPanelButton = (MyGuiControlButton)controlsParent.Controls.GetControlByName("ControlPanelButton"); m_inventoryButton = (MyGuiControlButton)controlsParent.Controls.GetControlByName("InventoryButton"); { var assemblingButton = (MyGuiControlRadioButton)controlsParent.Controls.GetControlByName("AssemblingButton"); var disassemblingButton = (MyGuiControlRadioButton)controlsParent.Controls.GetControlByName("DisassemblingButton"); assemblingButton.Key = (int)AssemblerMode.Assembling; disassemblingButton.Key = (int)AssemblerMode.Disassembling; m_modeButtonGroup.Add(assemblingButton); m_modeButtonGroup.Add(disassemblingButton); } foreach (var entry in m_assemblersByKey) { if (entry.Value.IsFunctional == false) { m_incompleteAssemblerName.Clear(); m_incompleteAssemblerName.AppendStringBuilder(entry.Value.CustomName); m_incompleteAssemblerName.AppendStringBuilder(MyTexts.Get(MySpaceTexts.Terminal_BlockIncomplete)); m_comboboxAssemblers.AddItem(entry.Key, m_incompleteAssemblerName); } else { m_comboboxAssemblers.AddItem(entry.Key, entry.Value.CustomName); } } m_comboboxAssemblers.ItemSelected += Assemblers_ItemSelected; m_comboboxAssemblers.SelectItemByIndex(0); m_dragAndDrop = new MyGuiControlGridDragAndDrop(MyGuiConstants.DRAG_AND_DROP_BACKGROUND_COLOR, MyGuiConstants.DRAG_AND_DROP_TEXT_COLOR, 0.7f, MyGuiConstants.DRAG_AND_DROP_TEXT_OFFSET, true); controlsParent.Controls.Add(m_dragAndDrop); m_dragAndDrop.DrawBackgroundTexture = false; m_dragAndDrop.ItemDropped += dragDrop_OnItemDropped; RefreshBlueprints(); Assemblers_ItemSelected(); RegisterEvents(); if (m_assemblersByKey.Count == 0) ShowError(MySpaceTexts.ScreenTerminalError_NoAssemblers, controlsParent); }
private void OnSelectedItemChanged(MyGuiControlGrid arg1, MyGuiControlGrid.EventArgs arg2) { OnGridMouseOverIndexChanged(arg1, arg2); }
public override void FillGridItem(MyGuiControlGrid.Item gridItem) { if (MyFakes.ENABLE_GATHERING_SMALL_BLOCK_FROM_GRID) if (m_lastAmount > 0) gridItem.AddText(String.Format("{0}x", m_lastAmount), MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_BOTTOM); else gridItem.ClearText(MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_BOTTOM); }
private void grid_ItemDoubleClicked(MyGuiControlGrid sender, MyGuiControlGrid.EventArgs eventArgs) { if (MyInput.Static.IsAnyShiftKeyPressed() || MyInput.Static.IsAnyCtrlKeyPressed()) return; var item = (MyPhysicalInventoryItem)sender.GetItemAt(eventArgs.ItemIndex).UserData; bool transfered = TransferToOppositeFirst(item); RefreshSelectedInventoryItem(); //MyAudio.Static.PlayCue(transfered ? MySoundCuesEnum.HudMouseClick : MySoundCuesEnum.HudUnable); }
private void grid_ItemSelected(MyGuiControlGrid sender, MyGuiControlGrid.EventArgs eventArgs) { var sourceGrid = (MyGuiControlGrid)sender; if (m_focusedGridControl != null && m_focusedGridControl != sourceGrid) { m_focusedGridControl.SelectedIndex = null; } m_focusedGridControl = sourceGrid; m_focusedOwnerControl = (MyGuiControlInventoryOwner)sourceGrid.Owner; RefreshSelectedInventoryItem(); }
public void Close() { foreach (var system in m_registeredConveyorSystems) { system.BlockAdded -= ConveyorSystem_BlockAdded; system.BlockRemoved -= ConveyorSystem_BlockRemoved; } m_registeredConveyorSystems.Clear(); m_leftTypeGroup.Clear(); m_leftFilterGroup.Clear(); m_rightTypeGroup.Clear(); m_rightFilterGroup.Clear(); m_controlsDisabledWhileDragged.Clear(); m_leftOwnersControl = null; m_leftSuitButton = null; m_leftGridButton = null; m_leftFilterStorageButton = null; m_leftFilterSystemButton = null; m_leftFilterEnergyButton = null; m_leftFilterAllButton = null; m_rightOwnersControl = null; m_rightSuitButton = null; m_rightGridButton = null; m_rightFilterStorageButton = null; m_rightFilterSystemButton = null; m_rightFilterEnergyButton = null; m_rightFilterAllButton = null; m_throwOutButton = null; m_dragAndDrop = null; m_dragAndDropInfo = null; m_focusedOwnerControl = null; m_focusedGridControl = null; m_selectedInventory = null; m_hideEmptyLeft.IsCheckedChanged -= HideEmptyLeft_Checked; m_hideEmptyRight.IsCheckedChanged -= HideEmptyRight_Checked; m_blockSearchLeft.TextChanged -= BlockSearchLeft_TextChanged; m_blockSearchClearLeft.ButtonClicked -= BlockSearchClearLeft_ButtonClicked; m_blockSearchRight.TextChanged -= BlockSearchRight_TextChanged; m_blockSearchClearRight.ButtonClicked -= BlockSearchClearRight_ButtonClicked; m_hideEmptyLeft = null; m_hideEmptyLeftLabel = null; m_hideEmptyRight = null; m_hideEmptyRightLabel = null; m_blockSearchLeft = null; m_blockSearchClearLeft = null; m_blockSearchRight = null; m_blockSearchClearRight = null; }
void inventoryGrid_MouseOverIndexChanged(MyGuiControlGrid control, MyGuiControlGrid.EventArgs args) { Debug.Assert(control == m_inventoryGrid); if (CurrentAssemblerMode == AssemblerMode.Assembling) return; RefreshMaterialsPreview(); }
public bool IsToolbarGrid(MyGuiControlGrid grid) { return m_toolbarItemsGrid == grid; }
private void RecreateControls(bool contructor) { m_toolbarItemsGrid = new MyGuiControlGrid() { OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_BOTTOM, VisualStyle = MyGuiControlGridStyleEnum.Toolbar, ColumnsCount = MyToolbarComponent.CurrentToolbar.SlotCount + 1, RowsCount = 1 }; m_toolbarItemsGrid.ItemDoubleClicked += grid_ItemDoubleClicked; m_toolbarItemsGrid.ItemClickedWithoutDoubleClick += grid_ItemClicked; m_selectedItemLabel = new MyGuiControlLabel(); m_colorVariantPanel = new MyGuiControlPanel(size: new Vector2(0.1f, 0.025f)); m_colorVariantPanel.BackgroundTexture = MyGuiConstants.TEXTURE_GUI_BLANK; m_contextMenu = new MyGuiControlContextMenu(); m_contextMenu.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_BOTTOM; m_contextMenu.Deactivate(); m_contextMenu.ItemClicked += contextMenu_ItemClicked; Elements.Add(m_colorVariantPanel); Elements.Add(m_selectedItemLabel); Elements.Add(m_toolbarItemsGrid); Elements.Add(m_contextMenu); m_colorVariantPanel.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_BOTTOM; m_selectedItemLabel.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_BOTTOM; m_toolbarItemsGrid.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_BOTTOM; m_contextMenu.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_BOTTOM; RefreshInternals(); }
/// <summary> /// Starts dragging item /// </summary> /// <param name="dropHandleType">On which action released drop event</param> /// <param name="draggingItem">Item which is dragging</param> /// <param name="draggingFrom">Information about item's origin</param> public void StartDragging(MyDropHandleType dropHandleType, MySharedButtonsEnum dragButton, MyGuiControlGrid.Item draggingItem, MyDragAndDropInfo draggingFrom, bool includeTooltip = true) { m_currentDropHandleType = dropHandleType; m_dragButton = dragButton; m_draggingGridItem = draggingItem; m_draggingFrom = draggingFrom; m_toolTip = (includeTooltip) ? draggingItem.ToolTip : null; }
protected virtual void SetGridItemAt(int slot, MyToolbarItem item, string[] icons, string subicon, String tooltip, MyGuiControlGrid.ColoredIcon? symbol = null, bool clear = false) { var gridItem = m_toolbarItemsGrid.GetItemAt(slot); if (gridItem == null) { gridItem = new MyGuiControlGrid.Item( icons: icons, subicon: subicon, toolTip: tooltip, userData: item); //By Gregory: Changed to IconText for weapon check MyToolbarItemWeapon IconText override //if (item != null) // gridItem.AddText(item.IconText, MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_BOTTOM); //else // gridItem.ClearText(MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_BOTTOM); //gridItem.Enabled = (item != null) ? item.Enabled : true; //if (symbol.HasValue) // gridItem.AddIcon(symbol.Value, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP); m_toolbarItemsGrid.SetItemAt(slot, gridItem); } else { gridItem.UserData = item; gridItem.Icons = icons; gridItem.SubIcon = subicon; if (gridItem.ToolTip == null) gridItem.ToolTip = new MyToolTips(); gridItem.ToolTip.ToolTips.Clear(); gridItem.ToolTip.AddToolTip(tooltip); //By Gregory: Changed to IconText for weapon check MyToolbarItemWeapon IconText override //if (item != null) // gridItem.AddText(item.IconText, MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_BOTTOM); //else // gridItem.ClearText(MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_BOTTOM); //gridItem.Enabled = (item != null) ? item.Enabled : true; //if (symbol.HasValue) // gridItem.AddIcon(symbol.Value, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP); } if (item == null || clear) gridItem.ClearAllText(); if (DrawNumbers) gridItem.AddText(MyToolbarComponent.GetSlotControlText(slot)); if (item != null) item.FillGridItem(gridItem); gridItem.Enabled = (item != null) ? item.Enabled : true; if (symbol.HasValue) gridItem.AddIcon(symbol.Value, MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP); }
private static void MakeScreenWithIconGrid() { var screen = new TmpScreen(); var grid = new MyGuiControlGrid(); screen.Controls.Add(grid); grid.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER; grid.VisualStyle = MyGuiControlGridStyleEnum.Inventory; grid.RowsCount = 12; grid.ColumnsCount = 18; foreach (var definition in MyDefinitionManager.Static.GetAllDefinitions()) { grid.Add(new MyGuiControlGrid.Item( icon: definition.Icon, toolTip: definition.DisplayNameText)); } MyGuiSandbox.AddScreen(screen); }
private void OnGridMouseOverIndexChanged(MyGuiControlGrid myGuiControlGrid, MyGuiControlGrid.EventArgs eventArgs) { if (m_gridBlocks.Visible) { MyGuiControlGrid.Item gridItem = m_gridBlocks.MouseOverItem ?? m_gridBlocks.SelectedItem; if (gridItem == null) { m_blockInfoList.InitControls(new MyGuiControlBase[] { }); return; } GridItemUserData userData = gridItem.UserData as GridItemUserData; if (userData == null) return; MyObjectBuilder_ToolbarItemCubeBlock itemData = userData.ItemData as MyObjectBuilder_ToolbarItemCubeBlock; if (itemData == null) return; MyDefinitionBase definition; if (MyDefinitionManager.Static.TryGetDefinition(itemData.DefinitionId, out definition)) { var group = MyDefinitionManager.Static.GetDefinitionGroup((definition as MyCubeBlockDefinition).BlockPairName); if (MyCubeBuilder.Static.CubeBuilderState.CubeSizeMode == MyCubeSize.Small && MyCubeBuilder.Static.IsCubeSizeAvailable(group.Small)) { m_blockInfoList.InitControls(GenerateBlockInfos(group.Small, ref m_blockInfoStyle)); } else if (MyCubeBuilder.Static.CubeBuilderState.CubeSizeMode == MyCubeSize.Large && MyCubeBuilder.Static.IsCubeSizeAvailable(group.Large)) { m_blockInfoList.InitControls(GenerateBlockInfos(group.Large, ref m_blockInfoStyle)); } else { bool blockSizeLarge = MyCubeBuilder.Static.CubeBuilderState.CubeSizeMode == MyCubeSize.Large; m_blockInfoList.InitControls(new MyGuiControlBase[] { GenerateSizeInfoLabel(blockSizeLarge), GenerateSizeNotAvailableText(blockSizeLarge) }); } } } else { m_blockInfoList.InitControls(new MyGuiControlBase[] { }); } }
void queueGrid_ItemClicked(MyGuiControlGrid control, MyGuiControlGrid.EventArgs args) { Debug.Assert(control == m_queueGrid); // Changing queue in auto-disassembling mode is forbidden. if (CurrentAssemblerMode == AssemblerMode.Disassembling && m_selectedAssembler.RepeatEnabled) return; if (args.Button == MySharedButtonsEnum.Secondary) m_selectedAssembler.RemoveQueueItemRequest(args.ItemIndex); }
void queueGrid_ItemDragged(MyGuiControlGrid control, MyGuiControlGrid.EventArgs args) { StartDragging(MyDropHandleType.MouseRelease, control, ref args); }
private void grid_ItemClicked(MyGuiControlGrid sender, MyGuiControlGrid.EventArgs eventArgs) { if (eventArgs.Button == MySharedButtonsEnum.Secondary) { int slot = eventArgs.ColumnIndex; var toolbar = MyToolbarComponent.CurrentToolbar; MyToolbarItem item = toolbar.GetSlotItem(slot); if (item == null) return; //right clicks in multifunctional items should trigger their menus (if they have more than 0 options) if (item is MyToolbarItemActions) { var actionList = (item as MyToolbarItemActions).PossibleActions(ShownToolbar.ToolbarType); if (actionList.Count > 0) { m_contextMenu.CreateNewContextMenu(); foreach (var action in actionList) m_contextMenu.AddItem(action.Name, icon: action.Icon, userData: action.Id); m_contextMenu.AddItem(MyTexts.Get(MySpaceTexts.BlockAction_RemoveFromToolbar)); m_contextMenu.Enabled = true; m_contextMenuItemIndex = toolbar.SlotToIndex(slot); } else RemoveToolbarItem(eventArgs.ColumnIndex); } else RemoveToolbarItem(eventArgs.ColumnIndex); } if (m_shownToolbar.IsValidIndex(eventArgs.ColumnIndex)) m_shownToolbar.ActivateItemAtSlot(eventArgs.ColumnIndex, true); }
void queueGrid_MouseOverIndexChanged(MyGuiControlGrid control, MyGuiControlGrid.EventArgs args) { Debug.Assert(control == m_queueGrid); RefreshMaterialsPreview(); }
private void grid_ItemDoubleClicked(MyGuiControlGrid sender, MyGuiControlGrid.EventArgs eventArgs) { RemoveToolbarItem(eventArgs.ColumnIndex); if (m_shownToolbar.IsValidIndex(eventArgs.ColumnIndex)) m_shownToolbar.ActivateItemAtSlot(eventArgs.ColumnIndex); }
private void StartDragging(MyDropHandleType dropHandlingType, MyGuiControlGrid gridControl, ref MyGuiControlGrid.EventArgs args) { m_dragAndDropInfo = new MyDragAndDropInfo(); m_dragAndDropInfo.Grid = gridControl; m_dragAndDropInfo.ItemIndex = args.ItemIndex; DisableInvalidWhileDragging(); var draggingItem = m_dragAndDropInfo.Grid.GetItemAt(m_dragAndDropInfo.ItemIndex); m_dragAndDrop.StartDragging(dropHandlingType, args.Button, draggingItem, m_dragAndDropInfo, includeTooltip: false); }
private void CreateProductionPageControls(MyGuiControlTabPage productionPage) { productionPage.Name = "PageProduction"; productionPage.TextEnum = MySpaceTexts.TerminalTab_Production; float columnSpacing = 0.03f; float controlSpacing = 0.01f; float smallBackgroundPanelHeight = 0.05f; float largeBackgroundPanelHeight = 0.08f; var assemblersCombobox = new MyGuiControlCombobox( position: -0.5f * productionPage.Size + new Vector2(0f, controlSpacing)) { OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, Name = "AssemblersCombobox" }; var blueprintsBackgroundPanel = new MyGuiControlPanel( position: assemblersCombobox.Position + new Vector2(0f, assemblersCombobox.Size.Y + controlSpacing), size: new Vector2(1f, largeBackgroundPanelHeight), originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP) { BackgroundTexture = MyGuiConstants.TEXTURE_RECTANGLE_DARK, Name = "BlueprintsBackgroundPanel", }; var blueprintsLabel = new MyGuiControlLabel( position: blueprintsBackgroundPanel.Position + new Vector2(controlSpacing, controlSpacing), text: MyTexts.GetString(MySpaceTexts.ScreenTerminalProduction_Blueprints), originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP) { Name = "BlueprintsLabel" }; var blueprintsGrid = new MyGuiControlGrid() { VisualStyle = MyGuiControlGridStyleEnum.Toolbar, RowsCount = MyTerminalProductionController.BLUEPRINT_GRID_ROWS, ColumnsCount = 4, OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP }; var blueprintsScrollableArea = new MyGuiControlScrollablePanel( scrolledControl: blueprintsGrid) { Name = "BlueprintsScrollableArea", ScrollbarVEnabled = true, Position = blueprintsBackgroundPanel.Position + new Vector2(0f, blueprintsBackgroundPanel.Size.Y), OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, BackgroundTexture = MyGuiConstants.TEXTURE_SCROLLABLE_LIST, Size = new Vector2(blueprintsBackgroundPanel.Size.X, 0.5f), ScrolledAreaPadding = new MyGuiBorderThickness(0.005f), }; blueprintsScrollableArea.FitSizeToScrolledControl(); assemblersCombobox.Size = new Vector2(blueprintsScrollableArea.Size.X, assemblersCombobox.Size.Y); blueprintsBackgroundPanel.Size = new Vector2(blueprintsScrollableArea.Size.X, largeBackgroundPanelHeight); blueprintsGrid.RowsCount = 20; productionPage.Controls.Add(assemblersCombobox); productionPage.Controls.Add(blueprintsBackgroundPanel); productionPage.Controls.Add(blueprintsLabel); productionPage.Controls.Add(blueprintsScrollableArea); var materialsBackgroundPanel = new MyGuiControlPanel( position: blueprintsBackgroundPanel.Position + new Vector2(blueprintsBackgroundPanel.Size.X + columnSpacing, 0f), size: new Vector2(blueprintsBackgroundPanel.Size.X, smallBackgroundPanelHeight), originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP) { BackgroundTexture = MyGuiConstants.TEXTURE_RECTANGLE_DARK }; var materialsLabel = new MyGuiControlLabel( position: materialsBackgroundPanel.Position + new Vector2(controlSpacing, controlSpacing), text: MyTexts.GetString(MySpaceTexts.ScreenTerminalProduction_StoredMaterials), originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP ); var materialsList = new MyGuiControlComponentList() { Position = materialsBackgroundPanel.Position + new Vector2(0f, materialsBackgroundPanel.Size.Y), Size = new Vector2(materialsBackgroundPanel.Size.X, blueprintsBackgroundPanel.Size.Y + blueprintsScrollableArea.Size.Y - materialsBackgroundPanel.Size.Y), OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, BackgroundTexture = MyGuiConstants.TEXTURE_RECTANGLE_NEUTRAL, Name = "MaterialsList", }; productionPage.Controls.Add(materialsBackgroundPanel); productionPage.Controls.Add(materialsLabel); productionPage.Controls.Add(materialsList); var assemblingButton = new MyGuiControlRadioButton( position: materialsBackgroundPanel.Position + new Vector2(materialsBackgroundPanel.Size.X + columnSpacing, 0f), size: new Vector2(200f, 48f) / MyGuiConstants.GUI_OPTIMAL_SIZE) { OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, Icon = MyGuiConstants.TEXTURE_BUTTON_ICON_COMPONENT, IconOriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER, TextAlignment = MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER, Text = MyTexts.Get(MySpaceTexts.ScreenTerminalProduction_AssemblingButton), Name = "AssemblingButton", }; assemblingButton.SetToolTip(MySpaceTexts.ToolTipTerminalProduction_AssemblingMode); var disassemblingButton = new MyGuiControlRadioButton( position: assemblingButton.Position + new Vector2(assemblingButton.Size.X + controlSpacing, 0f), size: new Vector2(238f, 48f) / MyGuiConstants.GUI_OPTIMAL_SIZE) { OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, Icon = MyGuiConstants.TEXTURE_BUTTON_ICON_DISASSEMBLY, IconOriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER, TextAlignment = MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER, Text = MyTexts.Get(MySpaceTexts.ScreenTerminalProduction_DisassemblingButton), Name = "DisassemblingButton", }; disassemblingButton.SetToolTip(MySpaceTexts.ToolTipTerminalProduction_DisassemblingMode); var queueBackgroundPanel = new MyGuiControlCompositePanel() { Position = assemblingButton.Position + new Vector2(0f, assemblingButton.Size.Y + controlSpacing), Size = new Vector2(0.4f, largeBackgroundPanelHeight), OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, BackgroundTexture = MyGuiConstants.TEXTURE_RECTANGLE_DARK, }; var queueLabel = new MyGuiControlLabel( position: queueBackgroundPanel.Position + new Vector2(controlSpacing, controlSpacing), text: MyTexts.GetString(MySpaceTexts.ScreenTerminalProduction_ProductionQueue), originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP ); var queueGrid = new MyGuiControlGrid() { VisualStyle = MyGuiControlGridStyleEnum.Toolbar, RowsCount = 2, ColumnsCount = 6, OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP }; var queueScrollableArea = new MyGuiControlScrollablePanel( scrolledControl: queueGrid) { Name = "QueueScrollableArea", ScrollbarVEnabled = true, Position = queueBackgroundPanel.Position + new Vector2(0f, queueBackgroundPanel.Size.Y), OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, BackgroundTexture = MyGuiConstants.TEXTURE_SCROLLABLE_LIST, ScrolledAreaPadding = new MyGuiBorderThickness(0.005f), }; queueScrollableArea.FitSizeToScrolledControl(); queueGrid.RowsCount = 10; queueBackgroundPanel.Size = new Vector2(queueScrollableArea.Size.X, queueBackgroundPanel.Size.Y); var repeatCheckbox = new MyGuiControlCheckbox( position: queueBackgroundPanel.Position + new Vector2(queueBackgroundPanel.Size.X - controlSpacing, controlSpacing), originAlign: MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_TOP, toolTip: MyTexts.GetString(MySpaceTexts.ToolTipTerminalProduction_RepeatMode), visualStyle: MyGuiControlCheckboxStyleEnum.Repeat) { Name = "RepeatCheckbox", }; var slaveCheckbox = new MyGuiControlCheckbox( position: queueBackgroundPanel.Position + new Vector2(queueBackgroundPanel.Size.X - 0.1f - controlSpacing, controlSpacing), originAlign: MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_TOP, toolTip: MyTexts.GetString(MySpaceTexts.ToolTipTerminalProduction_SlaveMode), visualStyle: MyGuiControlCheckboxStyleEnum.Slave) { Name = "SlaveCheckbox", }; var inventoryBackgroundPanel = new MyGuiControlCompositePanel() { Position = queueScrollableArea.Position + new Vector2(0f, queueScrollableArea.Size.Y + controlSpacing), Size = new Vector2(0.4f, largeBackgroundPanelHeight), OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, BackgroundTexture = MyGuiConstants.TEXTURE_RECTANGLE_DARK, }; var inventoryLabel = new MyGuiControlLabel( position: inventoryBackgroundPanel.Position + new Vector2(controlSpacing, controlSpacing), text: MyTexts.GetString(MySpaceTexts.ScreenTerminalProduction_Inventory), originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP ); var inventoryGrid = new MyGuiControlGrid() { VisualStyle = MyGuiControlGridStyleEnum.Toolbar, RowsCount = 3, ColumnsCount = 6, OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP }; var inventoryScrollableArea = new MyGuiControlScrollablePanel( scrolledControl: inventoryGrid) { Name = "InventoryScrollableArea", ScrollbarVEnabled = true, Position = inventoryBackgroundPanel.Position + new Vector2(0f, inventoryBackgroundPanel.Size.Y), OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, BackgroundTexture = MyGuiConstants.TEXTURE_SCROLLABLE_LIST, ScrolledAreaPadding = new MyGuiBorderThickness(0.005f), }; inventoryScrollableArea.FitSizeToScrolledControl(); inventoryGrid.RowsCount = 10; inventoryBackgroundPanel.Size = new Vector2(inventoryScrollableArea.Size.X, inventoryBackgroundPanel.Size.Y); var disassembleAllButton = new MyGuiControlButton( position: inventoryBackgroundPanel.Position + new Vector2(inventoryBackgroundPanel.Size.X - controlSpacing, controlSpacing), size: new Vector2(220f, 40f) / MyGuiConstants.GUI_OPTIMAL_SIZE, originAlign: MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_TOP, text: MyTexts.Get(MySpaceTexts.ScreenTerminalProduction_DisassembleAllButton), visualStyle: MyGuiControlButtonStyleEnum.Rectangular, toolTip: MyTexts.GetString(MySpaceTexts.ToolTipTerminalProduction_DisassembleAll)) { Name = "DisassembleAllButton", }; var inventoryButton = new MyGuiControlButton( position: inventoryScrollableArea.Position + new Vector2(0f, inventoryScrollableArea.Size.Y + controlSpacing), visualStyle: MyGuiControlButtonStyleEnum.Rectangular, size: new Vector2(214f, 48f) / MyGuiConstants.GUI_OPTIMAL_SIZE, originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, text: MyTexts.Get(MySpaceTexts.ScreenTerminalProduction_InventoryButton)) { Name = "InventoryButton", }; var controlPanelButton = new MyGuiControlButton( position: inventoryButton.Position + new Vector2(inventoryButton.Size.X + controlSpacing, 0f), visualStyle: MyGuiControlButtonStyleEnum.Rectangular, size: inventoryButton.Size, originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP, text: MyTexts.Get(MySpaceTexts.ScreenTerminalProduction_ControlPanelButton)) { Name = "ControlPanelButton", }; productionPage.Controls.Add(assemblingButton); productionPage.Controls.Add(disassemblingButton); productionPage.Controls.Add(queueBackgroundPanel); productionPage.Controls.Add(queueLabel); productionPage.Controls.Add(repeatCheckbox); productionPage.Controls.Add(slaveCheckbox); productionPage.Controls.Add(queueScrollableArea); productionPage.Controls.Add(inventoryBackgroundPanel); productionPage.Controls.Add(inventoryLabel); productionPage.Controls.Add(disassembleAllButton); productionPage.Controls.Add(inventoryScrollableArea); productionPage.Controls.Add(inventoryButton); productionPage.Controls.Add(controlPanelButton); }
private void grid_ItemDragged(MyGuiControlGrid sender, MyGuiControlGrid.EventArgs eventArgs) { if (MyInput.Static.IsAnyShiftKeyPressed() || MyInput.Static.IsAnyCtrlKeyPressed()) return; StartDragging(MyDropHandleType.MouseRelease, sender, ref eventArgs); }
public virtual void FillGridItem(MyGuiControlGrid.Item gridItem) { if (IconText.Length == 0) gridItem.ClearText(MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_BOTTOM); else gridItem.AddText(IconText, MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_BOTTOM); }
private void grid_ItemClicked(MyGuiControlGrid sender, MyGuiControlGrid.EventArgs eventArgs) { bool ctrlPressed = MyInput.Static.IsAnyCtrlKeyPressed(); bool shiftPressed = MyInput.Static.IsAnyShiftKeyPressed(); if (ctrlPressed || shiftPressed) { var item = (MyPhysicalInventoryItem)sender.GetItemAt(eventArgs.ItemIndex).UserData; item.Amount = MyFixedPoint.Min((shiftPressed ? 100 : 1) * (ctrlPressed ? 10 : 1), item.Amount); bool transfered = TransferToOppositeFirst(item); RefreshSelectedInventoryItem(); //MyAudio.Static.PlayCue(transfered ? MySoundCuesEnum.HudMouseClick : MySoundCuesEnum.HudUnable); } }
void blueprintsGrid_ItemClicked(MyGuiControlGrid control, MyGuiControlGrid.EventArgs args) { Debug.Assert(control == m_blueprintsGrid); //if(CurrentAssemblerMode == AssemblerMode.Assembling) { var item = control.GetItemAt(args.ItemIndex); if (item == null) return; var blueprint = (MyBlueprintDefinitionBase)item.UserData; var amount = MyInput.Static.IsAnyShiftKeyPressed() ? 100 : MyInput.Static.IsAnyCtrlKeyPressed() ? 10 : 1; EnqueueBlueprint(blueprint, amount); } }
void inventoryGrid_ItemClicked(MyGuiControlGrid control, MyGuiControlGrid.EventArgs args) { Debug.Assert(control == m_inventoryGrid); if (CurrentAssemblerMode == AssemblerMode.Assembling) return; var item = (MyPhysicalInventoryItem)control.GetItemAt(args.ItemIndex).UserData; var blueprint = MyDefinitionManager.Static.TryGetBlueprintDefinitionByResultId(item.Content.GetId()); if (blueprint != null) { var amount = MyInput.Static.IsAnyShiftKeyPressed() ? 100 : MyInput.Static.IsAnyCtrlKeyPressed() ? 10 : 1; EnqueueBlueprint(blueprint, amount); } }
public override void FillGridItem(MyGuiControlGrid.Item gridItem) { if (m_lastAmount > 0) gridItem.AddText(String.Format("{0}x", m_lastAmount), MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_BOTTOM); else gridItem.ClearText(MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_BOTTOM); }