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

◆ SellOrTrash()

static void Terraria.UI.ItemSlot.SellOrTrash ( Item[] inv,
int context,
int slot )
inlinestaticprivate

Definition at line 1023 of file ItemSlot.cs.

1024 {
1025 Player player = Main.player[Main.myPlayer];
1026 if (inv[slot].type <= 0)
1027 {
1028 return;
1029 }
1030 if (Main.npcShop > 0 && !inv[slot].favorited)
1031 {
1032 Chest chest = Main.instance.shop[Main.npcShop];
1033 if (inv[slot].type < 71 || inv[slot].type > 74)
1034 {
1035 if (player.SellItem(inv[slot]))
1036 {
1037 chest.AddItemToShop(inv[slot]);
1038 AnnounceTransfer(new ItemTransferInfo(inv[slot], context, 15));
1039 inv[slot].TurnToAir();
1041 Recipe.FindRecipes();
1042 }
1043 else if (inv[slot].value == 0)
1044 {
1045 chest.AddItemToShop(inv[slot]);
1046 AnnounceTransfer(new ItemTransferInfo(inv[slot], context, 15));
1047 inv[slot].TurnToAir();
1049 Recipe.FindRecipes();
1050 }
1051 }
1052 }
1053 else if (!inv[slot].favorited)
1054 {
1056 player.trashItem = inv[slot].Clone();
1057 AnnounceTransfer(new ItemTransferInfo(player.trashItem, context, 6));
1058 inv[slot].TurnToAir();
1059 if (context == 3 && Main.netMode == 1)
1060 {
1061 NetMessage.SendData(32, -1, -1, null, player.chest, slot);
1062 }
1063 Recipe.FindRecipes();
1064 }
1065 }
static void PlaySound(int type, Vector2 position, int style=1)
static void AnnounceTransfer(ItemTransferInfo info)
Definition ItemSlot.cs:241

References Terraria.Chest.AddItemToShop(), Terraria.UI.ItemSlot.AnnounceTransfer(), Terraria.Player.chest, Terraria.Item.Clone(), Terraria.Item.favorited, Terraria.Recipe.FindRecipes(), Terraria.Main.instance, Terraria.Main.myPlayer, Terraria.Main.netMode, Terraria.Main.npcShop, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Player.SellItem(), Terraria.NetMessage.SendData(), Terraria.Player.trashItem, Terraria.Item.TurnToAir(), System.type, and System.value.

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