Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ OverrideLeftClick()

static bool Terraria.UI.ItemSlot.OverrideLeftClick ( Item[] inv,
int context = 0,
int slot = 0 )
inlinestaticprivate

Definition at line 548 of file ItemSlot.cs.

549 {
550 if (context == 10 && isEquipLocked(inv[slot].type))
551 {
552 return true;
553 }
554 if (Main.LocalPlayer.tileEntityAnchor.IsInValidUseTileEntity() && Main.LocalPlayer.tileEntityAnchor.GetTileEntity().OverrideItemSlotLeftClick(inv, context, slot))
555 {
556 return true;
557 }
558 Item item = inv[slot];
559 if (Main.cursorOverride == 2)
560 {
562 {
564 }
565 return true;
566 }
567 if (Main.cursorOverride == 3)
568 {
569 if (!canFavoriteAt[context])
570 {
571 return false;
572 }
573 item.favorited = !item.favorited;
575 return true;
576 }
577 if (Main.cursorOverride == 7)
578 {
579 if (context == 29)
580 {
581 Item item2 = new Item();
582 item2.SetDefaults(inv[slot].netID);
583 item2.stack = item2.maxStack;
584 item2.OnCreated(new JourneyDuplicationItemCreationContext());
585 item2 = Main.player[Main.myPlayer].GetItem(Main.myPlayer, item2, GetItemSettings.InventoryEntityToPlayerInventorySettings);
587 return true;
588 }
589 inv[slot] = Main.player[Main.myPlayer].GetItem(Main.myPlayer, inv[slot], GetItemSettings.InventoryEntityToPlayerInventorySettings);
591 return true;
592 }
593 if (Main.cursorOverride == 8)
594 {
595 inv[slot] = Main.player[Main.myPlayer].GetItem(Main.myPlayer, inv[slot], GetItemSettings.InventoryEntityToPlayerInventorySettings);
596 if (Main.player[Main.myPlayer].chest > -1)
597 {
598 NetMessage.SendData(32, -1, -1, null, Main.player[Main.myPlayer].chest, slot);
599 }
600 return true;
601 }
602 if (Main.cursorOverride == 9)
603 {
604 if (Main.CreativeMenu.IsShowingResearchMenu())
605 {
606 Main.CreativeMenu.SwapItem(ref inv[slot]);
608 Main.CreativeMenu.SacrificeItemInSacrificeSlot();
609 }
610 else if (Main.InReforgeMenu)
611 {
612 Utils.Swap(ref inv[slot], ref Main.reforgeItem);
614 }
615 else if (Main.InGuideCraftMenu)
616 {
617 Utils.Swap(ref inv[slot], ref Main.guideItem);
618 Recipe.FindRecipes();
620 }
621 else
622 {
623 ChestUI.TryPlacingInChest(inv[slot], justCheck: false, context);
624 }
625 return true;
626 }
627 return false;
628 }
static void PlaySound(int type, Vector2 position, int style=1)
static Asset< DynamicSpriteFont > MouseText
Definition FontAssets.cs:10
static bool AddChatText(DynamicSpriteFont font, string text, Vector2 baseScale)
static bool isEquipLocked(int type)
Definition ItemSlot.cs:329
static bool[] canFavoriteAt
Definition ItemSlot.cs:133

References Terraria.UI.Chat.ChatManager.AddChatText(), Terraria.UI.ItemSlot.canFavoriteAt, Terraria.Main.CreativeMenu, Terraria.Main.cursorOverride, Terraria.Recipe.FindRecipes(), Terraria.GameContent.UI.Chat.ItemTagHandler.GenerateTag(), Terraria.Main.guideItem, Terraria.Main.InGuideCraftMenu, Terraria.Main.InReforgeMenu, Terraria.GetItemSettings.InventoryEntityToPlayerInventorySettings, Terraria.UI.ItemSlot.isEquipLocked(), System.item, Terraria.Main.LocalPlayer, Terraria.Item.maxStack, Terraria.GameContent.FontAssets.MouseText, Terraria.Main.myPlayer, Terraria.Item.OnCreated(), Microsoft.Xna.Framework.Vector2.One, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Main.reforgeItem, Terraria.NetMessage.SendData(), Terraria.Item.SetDefaults(), Terraria.UI.ChestUI.TryPlacingInChest(), and System.type.

Referenced by Terraria.UI.ItemSlot.LeftClick().