public static void Close() { if (Main.setKey != -1) { return; } Main.SaveSettings(); Main.ingameOptionsWindow = false; Recipe.FindRecipes(); Main.playerInventory = true; }
public static void Close() { if (Main.setKey != -1) { return; } Main.SaveSettings(); Main.ingameOptionsWindow = false; Main.PlaySound(SoundTypeID.MENU_CLOSE, -1, -1, 1); Recipe.FindRecipes(); Main.playerInventory = true; }
public static void drawChest(string chestName, Item[] chest, Texture2D invTexture, bool netUpdate, ref string mouseTip) { SpriteBatch spriteBatch = main.spriteBatch; new Color((byte)Main.invAlpha, (byte)Main.invAlpha, (byte)Main.invAlpha, (byte)Main.invAlpha); SpriteFont fontMouseText = Main.fontMouseText; Vector2 position = new Vector2(284f, 210f); Color color = new Color(Main.mouseTextColor, Main.mouseTextColor, Main.mouseTextColor, Main.mouseTextColor); float rotation = 0f; spriteBatch.DrawString(fontMouseText, chestName, position, color, rotation, default(Vector2), 1f, SpriteEffects.None, 0f); Main.inventoryScale = 0.75f; if (Main.mouseX > 73 && Main.mouseX < (int)(73f + 280f * Main.inventoryScale) && Main.mouseY > 210 && Main.mouseY < (int)(210f + 224f * Main.inventoryScale)) { Main.player[Main.myPlayer].mouseInterface = true; } for (int i = 0; i < 5; i++) { for (int j = 0; j < 4; j++) { int num = (int)(73f + (float)(i * 56) * Main.inventoryScale); int num2 = (int)(210f + (float)(j * 56) * Main.inventoryScale); int num3 = i + j * 5; new Color(100, 100, 100, 100); if (Main.mouseX >= num && (float)Main.mouseX <= (float)num + (float)Main.inventoryBackTexture.Width * Main.inventoryScale && Main.mouseY >= num2 && (float)Main.mouseY <= (float)num2 + (float)Main.inventoryBackTexture.Height * Main.inventoryScale) { Main.player[Main.myPlayer].mouseInterface = true; if (Main.mouseLeftRelease && Main.mouseLeft) { if (Main.player[Main.myPlayer].selectedItem != num3 || Main.player[Main.myPlayer].itemAnimation <= 0) { Item mouseItem = Main.mouseItem; Main.mouseItem = chest[num3]; chest[num3] = mouseItem; if (chest[num3].type == 0 || chest[num3].stack < 1) { chest[num3] = new Item(); } if (Main.mouseItem.IsTheSameAs(chest[num3]) && chest[num3].stack != chest[num3].maxStack && Main.mouseItem.stack != Main.mouseItem.maxStack) { if (Main.mouseItem.stack + chest[num3].stack <= Main.mouseItem.maxStack) { chest[num3].stack += Main.mouseItem.stack; Main.mouseItem.stack = 0; } else { int num4 = Main.mouseItem.maxStack - chest[num3].stack; chest[num3].stack += num4; Main.mouseItem.stack -= num4; } } if (Main.mouseItem.type == 0 || Main.mouseItem.stack < 1) { Main.mouseItem = new Item(); } if (Main.mouseItem.type > 0 || chest[num3].type > 0) { Recipe.FindRecipes(); Main.PlaySound(7); } if (netUpdate && Main.netMode == 1) { NetMessage.SendData(32, -1, -1, "", Main.player[Main.myPlayer].chest, num3); } } } else if (Main.mouseRight && Main.mouseRightRelease && chest[num3].maxStack == 1) { chest[num3] = Main.armorSwap(chest[num3]); if (netUpdate && Main.netMode == 1) { NetMessage.SendData(32, -1, -1, "", Main.player[Main.myPlayer].chest, num3); } } else if (Main.stackSplit <= 1 && Main.mouseRight && chest[num3].maxStack > 1 && (Main.mouseItem.IsTheSameAs(chest[num3]) || Main.mouseItem.type == 0) && (Main.mouseItem.stack < Main.mouseItem.maxStack || Main.mouseItem.type == 0)) { if (Main.mouseItem.type == 0) { Main.mouseItem = (Item)chest[num3].Clone(); Main.mouseItem.stack = 0; } Main.mouseItem.stack++; chest[num3].stack--; if (chest[num3].stack <= 0) { chest[num3] = new Item(); } Recipe.FindRecipes(); Main.soundInstanceMenuTick.Stop(); Main.soundInstanceMenuTick = Main.soundMenuTick.CreateInstance(); Main.PlaySound(12); if (Main.stackSplit == 0) { Main.stackSplit = 15; } else { Main.stackSplit = Main.stackDelay; } if (netUpdate && Main.netMode == 1) { NetMessage.SendData(32, -1, -1, "", Main.player[Main.myPlayer].chest, num3); } } mouseTip = chest[num3].name; Main.toolTip = (Item)chest[num3].ShallowClone(); if (chest[num3].stack > 1) { object obj = mouseTip; mouseTip = string.Concat(obj, " (", chest[num3].stack, ")"); } } DrawItem(invTexture, chest[num3], num, num2); } } }
public void DrawItemSlot(int x, int y, int slot, ref string mouseTip) { Texture2D inventoryBack5Texture = Main.inventoryBack5Texture; Item[] array = itemSlots; if (array[slot].stack == 0) { array[slot] = new Item(); } new Color(100, 100, 100, 100); if (Main.mouseX >= x && (float)Main.mouseX <= (float)x + (float)Main.inventoryBackTexture.Width * Main.inventoryScale && Main.mouseY >= y && (float)Main.mouseY <= (float)y + (float)Main.inventoryBackTexture.Height * Main.inventoryScale) { Main.player[Main.myPlayer].mouseInterface = true; if (Main.mouseLeftRelease && Main.mouseLeft) { if (Main.player[Main.myPlayer].itemAnimation <= 0 && code.CanPlaceSlot(slot, Main.mouseItem)) { Item mouseItem = Main.mouseItem; Main.mouseItem = array[slot]; array[slot] = mouseItem; if (array[slot].type == 0 || array[slot].stack < 1) { array[slot] = new Item(); } if (Main.mouseItem.IsTheSameAs(array[slot]) && array[slot].stack != array[slot].maxStack && Main.mouseItem.stack != Main.mouseItem.maxStack) { if (Main.mouseItem.stack + array[slot].stack <= Main.mouseItem.maxStack) { array[slot].stack += Main.mouseItem.stack; Main.mouseItem.stack = 0; } else { int num = Main.mouseItem.maxStack - array[slot].stack; array[slot].stack += num; Main.mouseItem.stack -= num; } } if (Main.mouseItem.type == 0 || Main.mouseItem.stack < 1) { Main.mouseItem = new Item(); } if (Main.mouseItem.type > 0 || array[slot].type > 0) { Recipe.FindRecipes(); Main.PlaySound(7); } code.PlaceSlot(slot); } } else if (!Main.mouseRight || !Codable.RunSpecifiedMethod("Interface right-click", code, "SlotRightClicked", slot)) { if (Main.mouseRight && Main.mouseRightRelease && array[slot].maxStack == 1) { array[slot] = Main.armorSwap(array[slot]); } else if (Main.stackSplit <= 1 && Main.mouseRight && array[slot].maxStack > 1 && (Main.mouseItem.IsTheSameAs(array[slot]) || Main.mouseItem.type == 0) && (Main.mouseItem.stack < Main.mouseItem.maxStack || Main.mouseItem.type == 0)) { if (Main.mouseItem.type == 0) { Main.mouseItem = (Item)array[slot].Clone(); Main.mouseItem.stack = 0; } Main.mouseItem.stack++; array[slot].stack--; if (array[slot].stack <= 0) { array[slot] = new Item(); } Recipe.FindRecipes(); Main.soundInstanceMenuTick.Stop(); Main.soundInstanceMenuTick = Main.soundMenuTick.CreateInstance(); Main.PlaySound(12); if (Main.stackSplit == 0) { Main.stackSplit = 15; } else { Main.stackSplit = Main.stackDelay; } } } mouseTip = array[slot].name; Main.toolTip = (Item)array[slot].ShallowClone(); if (array[slot].stack > 1) { object obj = mouseTip; mouseTip = string.Concat(obj, " (", array[slot].stack, ")"); } } Interface.DrawItem(inventoryBack5Texture, array[slot], x, y); }