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

◆ GUIHotbarDrawInner()

void Terraria.Main.GUIHotbarDrawInner ( )
inlineprotected

Definition at line 40583 of file Main.cs.

40584 {
40585 if (playerInventory || player[myPlayer].ghost)
40586 {
40587 return;
40588 }
40589 string text = Lang.inter[37].Value;
40590 if (player[myPlayer].inventory[player[myPlayer].selectedItem].Name != null && player[myPlayer].inventory[player[myPlayer].selectedItem].Name != "")
40591 {
40592 text = player[myPlayer].inventory[player[myPlayer].selectedItem].AffixName();
40593 }
40594 Vector2 vector = FontAssets.MouseText.Value.MeasureString(text) / 2f;
40596 int num = 20;
40597 for (int i = 0; i < 10; i++)
40598 {
40599 if (i == player[myPlayer].selectedItem)
40600 {
40601 if (hotbarScale[i] < 1f)
40602 {
40603 hotbarScale[i] += 0.05f;
40604 }
40605 }
40606 else if ((double)hotbarScale[i] > 0.75)
40607 {
40608 hotbarScale[i] -= 0.05f;
40609 }
40610 float num2 = hotbarScale[i];
40611 int num3 = (int)(20f + 22f * (1f - num2));
40612 int a = (int)(75f + 150f * num2);
40613 Microsoft.Xna.Framework.Color lightColor = new Microsoft.Xna.Framework.Color(255, 255, 255, a);
40614 if (!player[myPlayer].hbLocked && !PlayerInput.IgnoreMouseInterface && mouseX >= num && (float)mouseX <= (float)num + (float)TextureAssets.InventoryBack.Width() * hotbarScale[i] && mouseY >= num3 && (float)mouseY <= (float)num3 + (float)TextureAssets.InventoryBack.Height() * hotbarScale[i] && !player[myPlayer].channel)
40615 {
40616 player[myPlayer].mouseInterface = true;
40617 player[myPlayer].cursorItemIconEnabled = false;
40618 if (mouseLeft && !player[myPlayer].hbLocked && !blockMouse)
40619 {
40620 player[myPlayer].changeItem = i;
40621 }
40622 hoverItemName = player[myPlayer].inventory[i].AffixName();
40623 if (player[myPlayer].inventory[i].stack > 1)
40624 {
40625 hoverItemName = hoverItemName + " (" + player[myPlayer].inventory[i].stack + ")";
40626 }
40627 rare = player[myPlayer].inventory[i].rare;
40628 }
40629 float num4 = inventoryScale;
40631 ItemSlot.Draw(spriteBatch, player[myPlayer].inventory, 13, i, new Vector2(num, num3), lightColor);
40633 num += (int)((float)TextureAssets.InventoryBack.Width() * hotbarScale[i]) + 4;
40634 }
40635 int selectedItem = player[myPlayer].selectedItem;
40636 if (selectedItem >= 10 && (selectedItem != 58 || mouseItem.type > 0))
40637 {
40638 float num5 = 1f;
40639 int num6 = (int)(20f + 22f * (1f - num5));
40640 int a2 = (int)(75f + 150f * num5);
40642 float num7 = inventoryScale;
40644 ItemSlot.Draw(spriteBatch, player[myPlayer].inventory, 13, selectedItem, new Vector2(num, num6), lightColor2);
40646 }
40647 }
static void DrawString(this SpriteBatch spriteBatch, DynamicSpriteFont spriteFont, string text, Vector2 position, Color color)
static Asset< DynamicSpriteFont > MouseText
Definition FontAssets.cs:10
static Asset< Texture2D > InventoryBack
static SpriteBatch spriteBatch
Definition Main.cs:974
static int myPlayer
Definition Main.cs:1801
static int rare
Definition Main.cs:2457
static bool blockMouse
Definition Main.cs:2521
static Item mouseItem
Definition Main.cs:1773
static byte mouseTextColor
Definition Main.cs:1751
static float inventoryScale
Definition Main.cs:1779
static string hoverItemName
Definition Main.cs:2449
static bool playerInventory
Definition Main.cs:1759
static int mouseY
Definition Main.cs:606
static float[] hotbarScale
Definition Main.cs:1749
static Player[] player
Definition Main.cs:1803
static int mouseX
Definition Main.cs:604
static bool mouseLeft
Definition Main.cs:614
static void Draw(SpriteBatch spriteBatch, ref Item inv, int context, Vector2 position, Color lightColor=default(Color))
Definition ItemSlot.cs:1777

References Terraria.Main.blockMouse, Terraria.UI.ItemSlot.Draw(), ReLogic.Graphics.DynamicSpriteFontExtensionMethods.DrawString(), Terraria.Main.hotbarScale, Terraria.Main.hoverItemName, System.Text.RegularExpressions.i, Terraria.GameInput.PlayerInput.IgnoreMouseInterface, Terraria.Lang.inter, Terraria.GameContent.TextureAssets.InventoryBack, Terraria.Main.inventoryScale, Terraria.Main.mouseItem, Terraria.Main.mouseLeft, Terraria.GameContent.FontAssets.MouseText, Terraria.Main.mouseTextColor, Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Main.myPlayer, System.Reflection.Name, Terraria.Main.player, Terraria.Main.playerInventory, Terraria.Main.rare, Terraria.Main.spriteBatch, System.text, and Microsoft.Xna.Framework.Graphics.Vector2.

Referenced by Terraria.Main.DrawInterface_30_Hotbar().