public BuilderReservePanel(BuilderReserve bag) : base(bag) { Width.Pixels = 12 + (SlotSize + SlotMargin) * 9; Height.Pixels = 40 + (SlotSize + SlotMargin) * Container.Handler.Slots / 9; UIGrid <UIBuilderReserveSlot> gridItems = new UIGrid <UIBuilderReserveSlot>(9) { Width = { Percent = 100 }, Height = { Pixels = -28, Percent = 100 }, Y = { Pixels = 28 }, ItemMargin = SlotMargin }; Add(gridItems); for (int i = 0; i < Container.Handler.Slots; i++) { UIBuilderReserveSlot slot = new UIBuilderReserveSlot(Container, i) { Width = { Pixels = SlotSize }, Height = { Pixels = SlotSize } }; gridItems.Add(slot); } }
public override void OnInitialize() { Width = (408, 0); Height = (40 + Container.Handler.Slots / 9 * 44, 0); this.Center(); textLabel = new UIText(Container.DisplayName.GetTranslation()) { HAlign = 0.5f }; Append(textLabel); UIButton buttonLootAll = new UIButton(PortableStorage.textureLootAll) { Size = new Vector2(20) }; buttonLootAll.OnClick += (evt, element) => { ItemUtility.LootAll(Container.Handler, Main.LocalPlayer); if (Container.Handler.GetItemInSlot(Container.selectedIndex).IsAir) { Container.SetIndex(-1); } }; buttonLootAll.GetHoverText += () => Language.GetText("LegacyInterface.29").ToString(); Append(buttonLootAll); UIButton buttonDepositAll = new UIButton(PortableStorage.textureDepositAll) { Size = new Vector2(20), Left = (28, 0) }; buttonDepositAll.OnClick += (evt, element) => ItemUtility.DepositAll(Container.Handler, Main.LocalPlayer); buttonDepositAll.GetHoverText += () => Language.GetText("LegacyInterface.30").ToString(); Append(buttonDepositAll); buttonClose = new UITextButton("X") { Size = new Vector2(20), Left = (-20, 1), RenderPanel = false }; buttonClose.OnClick += (evt, element) => BaseLibrary.BaseLibrary.PanelGUI.UI.CloseUI(Container); Append(buttonClose); gridItems = new UIGrid <UIBuilderReserveSlot>(9) { Width = (0, 1), Height = (-28, 1), Top = (28, 0), OverflowHidden = true, ListPadding = 4f }; Append(gridItems); for (int i = 0; i < Container.Handler.Slots; i++) { UIBuilderReserveSlot slot = new UIBuilderReserveSlot(Container, i); gridItems.Add(slot); } } }