Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
                }
            }
        }
Exemple #5
0
        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);
        }
Exemple #6
0
 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);
     }
 }
Exemple #7
0
        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();
        }
Exemple #8
0
        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;
        }
Exemple #9
0
        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);
                }
            }
        }
Exemple #10
0
        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;
        }
Exemple #11
0
 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();
     }
 }
Exemple #12
0
        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);
            }
        }
Exemple #13
0
 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;
     }
 }
Exemple #14
0
 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();
     }
 }