public static void RefreshItems() { if (StoragePlayer.IsStorageCrafting()) { CraftingGUI.RefreshItems(); return; } items.Clear(); didMatCheck.Clear(); TEStorageHeart heart = GetHeart(); if (heart == null) { return; } InitLangStuff(); InitSortButtons(); InitFilterButtons(); SortMode sortMode = (SortMode)sortButtons.Choice; FilterMode filterMode = (FilterMode)filterButtons.Choice; items.AddRange(ItemSorter.SortAndFilter(heart.GetStoredItems(), sortMode, filterMode, searchBar2.Text, searchBar.Text)); for (int k = 0; k < items.Count; k++) { didMatCheck.Add(false); } }
public static bool DrawStorageGUI() { Player player = Main.player[Main.myPlayer]; StoragePlayer modPlayer = player.GetModPlayer <StoragePlayer>(); Point16 storageAccess = modPlayer.ViewingStorage(); if (!Main.playerInventory || storageAccess.X < 0 || storageAccess.Y < 0) { return(true); } ModTile modTile = TileLoader.GetTile(Main.tile[storageAccess.X, storageAccess.Y].type); if (modTile == null || !(modTile is StorageAccess)) { return(true); } TEStorageHeart heart = ((StorageAccess)modTile).GetHeart(storageAccess.X, storageAccess.Y); if (heart == null) { return(true); } if (modTile is CraftingAccess) { CraftingGUI.Draw(heart); } else { StorageGUI.Draw(heart); } return(true); }
private static TEStorageHeart GetHeart() { Player player = Main.player[Main.myPlayer]; StoragePlayer modPlayer = player.GetModPlayer <StoragePlayer>(); return(modPlayer.GetStorageHeart()); }
public static void ReceiveOperationResult(BinaryReader reader) { byte op = reader.ReadByte(); /* * if (Main.netMode == NetmodeID.Server) * Console.WriteLine($"Receiving Operation Result {op}"); * else * Main.NewText($"Receiving Operation Result {op}"); */ if (Main.netMode != 1) { //The data still needs to be read for exceptions to not be thrown... if (op == 0 || op == 1 || op == 3) { ItemIO.Receive(reader, true); } else if (op == 2) { int count = reader.ReadByte(); for (int i = 0; i < count; i++) { ItemIO.Receive(reader, true); } } return; } if (op == 0 || op == 1 || op == 3) { Item item = ItemIO.Receive(reader, true); /* * Main.NewText($"Item Read: [type: {item.type}, prefix: {item.prefix}, stack: {item.stack}]"); * Main.NewText($"Reader Position: {reader.BaseStream.Position}"); */ StoragePlayer.GetItem(item, op != 3); } else if (op == 2) { int count = reader.ReadByte(); for (int k = 0; k < count; k++) { Item item = ItemIO.Receive(reader, true); /* * Main.NewText($"Item Read: [type: {item.type}, prefix: {item.prefix}, stack: {item.stack}]"); * Main.NewText($"Reader Position: {reader.BaseStream.Position}"); */ StoragePlayer.GetItem(item, false); } } }
private static TECraftingAccess GetCraftingEntity() { Player player = Main.player[Main.myPlayer]; StoragePlayer modPlayer = player.GetModPlayer <StoragePlayer>(MagicStorage.Instance); Point16 pos = modPlayer.ViewingStorage(); if (pos.X < 0 || pos.Y < 0 || !TileEntity.ByPosition.ContainsKey(pos)) { return(null); } return(TileEntity.ByPosition[pos] as TECraftingAccess); }
public override bool RecipeAvailable(Recipe recipe) { try { Player player = Main.player[Main.myPlayer]; StoragePlayer modPlayer = player.GetModPlayer <StoragePlayer>(mod); Point16 storageAccess = modPlayer.ViewingStorage(); return(storageAccess.X < 0 || storageAccess.Y < 0); } catch { return(true); } }
public static void Draw(TEStorageHeart heart) { Player player = Main.player[Main.myPlayer]; StoragePlayer modPlayer = player.GetModPlayer <StoragePlayer>(); Initialize(); if (Main.mouseX > panelLeft && Main.mouseX < panelLeft + panelWidth && Main.mouseY > panelTop && Main.mouseY < panelTop + panelHeight) { player.mouseInterface = true; player.showItemIcon = false; InterfaceHelper.HideItemIconCache(); } basePanel.Draw(Main.spriteBatch); slotZone.DrawText(); sortButtons.DrawText(); filterButtons.DrawText(); }
public static void Draw(TEStorageHeart heart) { Player player = Main.player[Main.myPlayer]; StoragePlayer modPlayer = player.GetModPlayer <StoragePlayer>(MagicStorage.Instance); Initialize(); if (Main.mouseX > panelLeft && Main.mouseX < panelLeft + panelWidth && Main.mouseY > panelTop && Main.mouseY < panelTop + panelHeight) { player.mouseInterface = true; player.showItemIcon = false; InterfaceHelper.HideItemIconCache(); } basePanel.Draw(Main.spriteBatch); float itemSlotWidth = Main.inventoryBackTexture.Width * inventoryScale; float itemSlotHeight = Main.inventoryBackTexture.Height * inventoryScale; Vector2 slotZonePos = slotZone.GetDimensions().Position(); float oldScale = Main.inventoryScale; Main.inventoryScale = inventoryScale; Item[] temp = new Item[11]; for (int k = 0; k < numColumns * displayRows; k++) { int index = k + numColumns * (int)Math.Round(scrollBar.ViewPosition); Item item = index < items.Count ? items[index] : new Item(); if (!item.IsAir && !didMatCheck[index]) { item.checkMat(); didMatCheck[index] = true; } Vector2 drawPos = slotZonePos + new Vector2((itemSlotWidth + padding) * (k % 10), (itemSlotHeight + padding) * (k / 10)); temp[10] = item; ItemSlot.Draw(Main.spriteBatch, temp, 0, 10, drawPos); } if (hoverSlot >= 0 && hoverSlot < items.Count) { Main.HoverItem = items[hoverSlot].Clone(); Main.instance.MouseText(string.Empty); } sortButtons.DrawText(); filterButtons.DrawText(); Main.inventoryScale = oldScale; }
public static void ReceiveOperationResult(BinaryReader reader) { if (Main.netMode != 1) { return; } Player player = Main.player[Main.myPlayer]; byte op = reader.ReadByte(); if (op == 0 || op == 1 || op == 3) { Item item = ItemIO.Receive(reader, true); StoragePlayer.GetItem(item, op != 3); } else if (op == 2) { int count = reader.ReadByte(); for (int k = 0; k < count; k++) { Item item = ItemIO.Receive(reader, true); StoragePlayer.GetItem(item, false); } } }
public static void Draw(TEStorageHeart heart) { Player player = Main.player[Main.myPlayer]; StoragePlayer modPlayer = player.GetModPlayer <StoragePlayer>(MagicStorage.Instance); Initialize(); if (Main.mouseX > panelLeft && Main.mouseX < panelLeft + panelWidth && Main.mouseY > panelTop && Main.mouseY < panelTop + panelHeight) { player.mouseInterface = true; player.showItemIcon = false; InterfaceHelper.HideItemIconCache(); } basePanel.Draw(Main.spriteBatch); float itemSlotWidth = Main.inventoryBackTexture.Width * inventoryScale; float itemSlotHeight = Main.inventoryBackTexture.Height * inventoryScale; Vector2 slotZonePos = slotZone.GetDimensions().Position(); float oldScale = Main.inventoryScale; Main.inventoryScale = inventoryScale; Item[] temp = new Item[11]; Item[] craftingStations = GetCraftingStations(); for (int k = 0; k < numColumns; k++) { temp[10] = craftingStations[k]; Vector2 drawPos = GetSlotPosition(k); ItemSlot.Draw(Main.spriteBatch, temp, 0, 10, drawPos); } if (hoverSlot >= 0 && hoverSlot < items.Count) { Main.HoverItem = items[hoverSlot].Clone(); Main.instance.MouseText(string.Empty); } sortButtons.DrawText(); filterButtons.DrawText(); Main.inventoryScale = oldScale; }
public static void Update(GameTime gameTime) { oldMouse = curMouse; curMouse = Mouse.GetState(); if (Main.playerInventory && Main.player[Main.myPlayer].GetModPlayer <StoragePlayer>().ViewingStorage().X >= 0 && !StoragePlayer.IsStorageCrafting()) { if (StorageGUI.curMouse.RightButton == ButtonState.Released) { ResetSlotFocus(); } if (basePanel != null) { basePanel.Update(gameTime); } UpdateScrollBar(); UpdateDepositButton(); } else { scrollBarFocus = false; scrollBar.ViewPosition = 0f; ResetSlotFocus(); } }
public static void RefreshItems() { if (StoragePlayer.IsStorageCrafting()) { CraftingGUI.RefreshItems(); return; } items.Clear(); didMatCheck.Clear(); TEStorageHeart heart = GetHeart(); if (heart == null) { return; } InitLangStuff(); InitSortButtons(); InitFilterButtons(); InitSubFilterButtons(); SortMode sortMode; switch (sortButtons.Choice) { case 0: sortMode = SortMode.Default; break; case 1: sortMode = SortMode.Id; break; case 2: sortMode = SortMode.Name; break; case 3: sortMode = SortMode.Quantity; break; default: sortMode = SortMode.Default; break; } switch (filterButtons.Choice) { case 0: filterMode = FilterMode.All; break; case 1: filterMode = FilterMode.Weapons; break; case 2: filterMode = FilterMode.Tools; break; case 3: filterMode = FilterMode.Equipment; break; case 4: filterMode = FilterMode.Potions; break; case 5: filterMode = FilterMode.Placeables; break; case 6: filterMode = FilterMode.Misc; break; default: filterMode = FilterMode.All; break; } if (filterMode != oldFilterMode) { UpdateSubFilterButtons(); oldFilterMode = filterMode; } SubFilterMode subFilterMode; subFilterMode = (SubFilterMode)subFilterButtons.Choice; items.AddRange(ItemSorter.SortAndFilter(heart.GetStoredItems(), sortMode, filterMode, subFilterMode, searchBar2.Text, searchBar.Text)); numItemsShown = items.Count; for (int k = 0; k < items.Count; k++) { didMatCheck.Add(false); } }
public static void Update(GameTime gameTime) { oldMouse = StorageGUI.oldMouse; curMouse = StorageGUI.curMouse; if (Main.playerInventory && Main.player[Main.myPlayer].GetModPlayer <StoragePlayer>(MagicStorage.Instance).ViewingStorage().X >= 0 && StoragePlayer.IsStorageCrafting()) { basePanel.Update(gameTime); UpdateScrollBar(); } else { scrollBarFocus = false; } }
public static void Update(GameTime gameTime) { oldMouse = curMouse; curMouse = Mouse.GetState(); if (Main.playerInventory && Main.player[Main.myPlayer].GetModPlayer <StoragePlayer>(MagicStorage.Instance).ViewingStorage().X >= 0 && !StoragePlayer.IsStorageCrafting()) { basePanel.Update(gameTime); UpdateScrollBar(); UpdateDepositButton(); UpdateItemSlots(); } else { scrollBarFocus = false; scrollBar.ViewPosition = 0f; ResetSlotFocus(); } }