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

◆ DrawSlot()

void Terraria.ModLoader.AccessorySlotLoader.DrawSlot ( Item[] items,
int context,
int slot,
bool flag3,
int xLoc,
int yLoc,
bool skipCheck = false )
inlinepackage

Is run in AccessorySlotLoader.Draw. Generates a significant amount of functionality for the slot, despite being named drawing because vanilla. At the end, calls this.DrawRedirect to enable custom drawing.

Definition at line 395 of file AccessorySlotLoader.cs.

396 {
397 //IL_0133: Unknown result type (might be due to invalid IL or missing references)
398 bool flag4 = flag3 && !Main.mouseItem.IsAir;
399 int xLoc2 = xLoc - 47 * slotDrawLoopCounter++;
400 bool isHovered = false;
401 if (!skipCheck && Main.mouseX >= xLoc2 && (float)Main.mouseX <= (float)xLoc2 + (float)TextureAssets.InventoryBack.Width() * Main.inventoryScale && Main.mouseY >= yLoc && (float)Main.mouseY <= (float)yLoc + (float)TextureAssets.InventoryBack.Height() * Main.inventoryScale && !PlayerInput.IgnoreMouseInterface)
402 {
403 isHovered = true;
404 Player.mouseInterface = true;
405 Main.armorHide = true;
406 ItemSlot.OverrideHover(items, Math.Abs(context), slot);
407 if (!flag4)
408 {
409 if (Math.Abs(context) == 12)
410 {
411 if (Main.mouseRightRelease && Main.mouseRight)
412 {
413 ItemSlot.RightClick(items, context, slot);
414 }
415 ItemSlot.LeftClick(items, context, slot);
416 }
417 else if (Math.Abs(context) == 11)
418 {
419 ItemSlot.LeftClick(items, context, slot);
420 ItemSlot.RightClick(items, context, slot);
421 }
422 else if (Math.Abs(context) == 10)
423 {
424 ItemSlot.LeftClick(items, context, slot);
425 }
426 }
427 ItemSlot.MouseHover(items, Math.Abs(context), slot);
428 if (context < 0)
429 {
430 OnHover(slot, context);
431 }
432 }
433 DrawRedirect(items, context, slot, new Vector2((float)xLoc2, (float)yLoc), isHovered);
434 }
static Asset< Texture2D > InventoryBack
void DrawRedirect(Item[] inv, int context, int slot, Vector2 location, bool isHovered)
static void OverrideHover(ref Item inv, int context=0)
Definition ItemSlot.cs:351
static void RightClick(ref Item inv, int context=0)
Definition ItemSlot.cs:1325
static void LeftClick(ref Item inv, int context=0)
Definition ItemSlot.cs:668
static void MouseHover(int context=0)
Definition ItemSlot.cs:2827

References Terraria.ModLoader.AccessorySlotLoader.DrawRedirect(), Terraria.GameInput.PlayerInput.IgnoreMouseInterface, Terraria.GameContent.TextureAssets.InventoryBack, Terraria.Main.inventoryScale, Terraria.UI.ItemSlot.LeftClick(), Terraria.UI.ItemSlot.MouseHover(), Terraria.Main.mouseItem, Terraria.Main.mouseRight, Terraria.Main.mouseRightRelease, Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.ModLoader.AccessorySlotLoader.OnHover(), Terraria.UI.ItemSlot.OverrideHover(), Terraria.UI.ItemSlot.RightClick(), and Terraria.ModLoader.AccessorySlotLoader.slotDrawLoopCounter.

Referenced by Terraria.ModLoader.AccessorySlotLoader.Draw().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: