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

◆ DrawInterface_40_InteractItemIcon()

void Terraria.Main.DrawInterface_40_InteractItemIcon ( )
inlineprivate

Definition at line 41934 of file Main.cs.

41935 {
41936 if (HoveringOverAnNPC || LocalPlayer.mouseInterface)
41937 {
41938 return;
41939 }
41940 Item item = player[myPlayer].inventory[player[myPlayer].selectedItem];
41941 int num = item.type;
41942 if (player[myPlayer].UsingBiomeTorches)
41943 {
41944 switch (num)
41945 {
41946 case 8:
41947 num = player[myPlayer].BiomeTorchHoldStyle(num);
41948 break;
41949 case 966:
41950 num = player[myPlayer].BiomeCampfireHoldStyle(num);
41951 break;
41952 }
41953 }
41954 if (player[myPlayer].cursorItemIconID != 0)
41955 {
41956 num = player[myPlayer].cursorItemIconID;
41957 }
41958 bool flag = player[myPlayer].cursorItemIconEnabled && (player[myPlayer].inventory[player[myPlayer].selectedItem].type > 0 || player[myPlayer].cursorItemIconID != 0);
41960 bool flag2 = _itemIconCacheTime > 0 && mouseItem.type < 1;
41961 if (!(flag || flag2))
41962 {
41963 return;
41964 }
41966 if (!flag)
41967 {
41968 Utils.Swap(ref t, ref player[myPlayer].cursorItemIconID);
41969 }
41971 Microsoft.Xna.Framework.Color color = player[myPlayer].inventory[player[myPlayer].selectedItem].GetColor(Microsoft.Xna.Framework.Color.White);
41972 if (player[myPlayer].cursorItemIconID != 0)
41973 {
41975 color = default(Microsoft.Xna.Framework.Color);
41976 }
41977 if (player[myPlayer].cursorItemIconID == 269)
41978 {
41979 currentColor = player[myPlayer].shirtColor;
41980 }
41981 float num2 = 1f;
41982 num2 = cursorScale;
41984 SpriteEffects effects = SpriteEffects.None;
41985 if (player[myPlayer].cursorItemIconReversed)
41986 {
41987 effects = SpriteEffects.FlipHorizontally;
41988 }
41989 if (num > 0)
41990 {
41991 int num3 = 10 + player[myPlayer].cursorItemIconPush;
41992 instance.LoadItem(num);
41993 spriteBatch.Draw(TextureAssets.Item[num].Value, new Vector2(mouseX + num3, mouseY + num3), Item.GetDrawHitbox(num, null), currentColor, 0f, default(Vector2), num2, effects, 0f);
41995 {
41996 float scale = num2 * ammoScale;
41997 int type = ammoItem.type;
41999 instance.LoadItem(type);
42000 spriteBatch.Draw(TextureAssets.Item[type].Value, new Vector2(mouseX + 10, mouseY + 10) + ammoOffset, Item.GetDrawHitbox(type, null), alpha, 0f, default(Vector2), scale, effects, 0f);
42001 }
42002 }
42003 if (player[myPlayer].cursorItemIconText != "")
42004 {
42005 MouseText(player[myPlayer].cursorItemIconText, 0, 0);
42006 }
42007 if (player[myPlayer].cursorItemIconID == 0 && player[myPlayer].inventory[player[myPlayer].selectedItem].color != default(Microsoft.Xna.Framework.Color))
42008 {
42009 instance.LoadItem(player[myPlayer].inventory[player[myPlayer].selectedItem].type);
42010 spriteBatch.Draw(TextureAssets.Item[player[myPlayer].inventory[player[myPlayer].selectedItem].type].Value, new Vector2(mouseX + 10, mouseY + 10), Item.GetDrawHitbox(player[myPlayer].inventory[player[myPlayer].selectedItem].type, null), color, 0f, default(Vector2), num2, SpriteEffects.None, 0f);
42011 }
42012 if (!flag)
42013 {
42014 Utils.Swap(ref t, ref player[myPlayer].cursorItemIconID);
42015 }
42016 }
static Asset< Texture2D >[] Item
static Item[] item
Definition Main.cs:1681
static SpriteBatch spriteBatch
Definition Main.cs:974
static int _itemIconCacheTime
Definition Main.cs:2493
static int myPlayer
Definition Main.cs:1801
bool TryGetAmmo(Item sourceItem, out Item ammoItem, out Microsoft.Xna.Framework.Color ammoColor, out float ammoScale, out Vector2 ammoOffset)
Definition Main.cs:42018
static Main instance
Definition Main.cs:283
static int _itemIconCacheSelectedItemID
Definition Main.cs:2491
static float cursorScale
Definition Main.cs:2211
static bool HoveringOverAnNPC
Definition Main.cs:2447
static int mouseY
Definition Main.cs:606
static Player LocalPlayer
Definition Main.cs:2829
static void ItemIconCacheVerification()
Definition Main.cs:43513
static Player[] player
Definition Main.cs:1803
void MouseText(string cursorText, int rare=0, byte diff=0, int hackedMouseX=-1, int hackedMouseY=-1, int hackedScreenWidth=-1, int hackedScreenHeight=-1, int pushWidthX=0)
Definition Main.cs:18729
static int mouseX
Definition Main.cs:604
static void GetItemLight(ref Color currentColor, Item item, bool outInTheWorld=false)
Definition ItemSlot.cs:2899

References Terraria.Main._itemIconCacheSelectedItemID, Terraria.Main._itemIconCacheTime, Terraria.Main.cursorScale, Terraria.Item.GetDrawHitbox(), Terraria.UI.ItemSlot.GetItemLight(), Terraria.Main.HoveringOverAnNPC, Terraria.Main.instance, Terraria.GameContent.TextureAssets.Item, Terraria.Main.item, Terraria.Main.ItemIconCacheVerification(), Terraria.Main.LocalPlayer, Terraria.Main.MouseText(), Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Main.myPlayer, Terraria.Main.player, Terraria.Main.spriteBatch, Terraria.Main.TryGetAmmo(), System.type, and Microsoft.Xna.Framework.Color.White.

Referenced by Terraria.Main.DrawInterface_11_IngameOptionsMenu(), and Terraria.Main.SetupDrawInterfaceLayers().