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

◆ DrawNPCHousesInUI()

void Terraria.Main.DrawNPCHousesInUI ( )
inlineprivate

Definition at line 39049 of file Main.cs.

39050 {
39051 UILinkPointNavigator.Shortcuts.NPCS_LastHovered = -2;
39052 if (mouseX > screenWidth - 64 - 28 && mouseX < (int)((float)(screenWidth - 64 - 28) + 56f * inventoryScale) && mouseY > 174 + mH && mouseY < (int)((float)(174 + mH) + 448f * inventoryScale) && !PlayerInput.IgnoreMouseInterface)
39053 {
39054 player[myPlayer].mouseInterface = true;
39055 }
39056 int num = 0;
39057 string text = "";
39058 int num2 = 0;
39059 int num3 = 0;
39061 for (int i = 0; i < _npcIndexWhoHoldsHeadIndex.Length; i++)
39062 {
39064 }
39065 for (int j = 0; j < 200; j++)
39066 {
39067 if (npc[j].active && !_npcTypesThatAlreadyDrewAHead.Contains(npc[j].type))
39068 {
39071 {
39074 }
39075 }
39076 }
39077 hidePVPIcons = false;
39078 int num4 = 0;
39079 int num5 = 0;
39080 UILinkPointNavigator.Shortcuts.NPCS_IconsPerColumn = 1;
39081 for (int k = 0; k < TextureAssets.NpcHead.Length; k++)
39082 {
39083 if (k != 0 && _npcIndexWhoHoldsHeadIndex[k] == -1)
39084 {
39085 continue;
39086 }
39088 int num7 = screenWidth - 64 - 28 + num3;
39089 int num8 = (int)((float)(174 + mH) + (float)(num * 56) * inventoryScale) + num2;
39090 Microsoft.Xna.Framework.Color color = new Microsoft.Xna.Framework.Color(100, 100, 100, 100);
39091 if (num8 > screenHeight - 80)
39092 {
39093 num3 -= 48;
39094 num2 -= num8 - (174 + mH);
39095 num7 = screenWidth - 64 - 28 + num3;
39096 num8 = (int)((float)(174 + mH) + (float)(num * 56) * inventoryScale) + num2;
39097 UILinkPointNavigator.Shortcuts.NPCS_IconsPerColumn = num5;
39098 if (num3 <= -144)
39099 {
39100 hidePVPIcons = true;
39101 }
39102 num5 = 0;
39103 }
39104 if (mouseX >= num7 && (float)mouseX <= (float)num7 + (float)TextureAssets.InventoryBack.Width() * inventoryScale && mouseY >= num8 && (float)mouseY <= (float)num8 + (float)TextureAssets.InventoryBack.Height() * inventoryScale)
39105 {
39106 UILinkPointNavigator.Shortcuts.NPCS_LastHovered = num6;
39107 mouseText = true;
39108 text = ((k != 0) ? npc[num6].FullName : Lang.inter[8].Value);
39110 {
39111 player[myPlayer].mouseInterface = true;
39113 {
39115 if (k == 0)
39116 {
39118 }
39119 else
39120 {
39122 }
39123 mouseLeftRelease = false;
39124 }
39125 }
39126 }
39127 UILinkPointNavigator.SetPosition(600 + num, new Vector2(num7, num8) + TextureAssets.InventoryBack.Value.Size() * 0.75f);
39130 if (UILinkPointNavigator.CurrentPoint - 600 == num)
39131 {
39134 }
39135 spriteBatch.Draw(value, new Vector2(num7, num8), null, white, 0f, default(Vector2), inventoryScale, SpriteEffects.None, 0f);
39137 int num9 = k;
39138 float scale = 1f;
39139 float num10 = 0f;
39140 num10 = ((TextureAssets.NpcHead[num9].Width() <= TextureAssets.NpcHead[num9].Height()) ? ((float)TextureAssets.NpcHead[num9].Height()) : ((float)TextureAssets.NpcHead[num9].Width()));
39141 if (num10 > 36f)
39142 {
39143 scale = 36f / num10;
39144 }
39145 spriteBatch.Draw(TextureAssets.NpcHead[num9].Value, new Vector2((float)num7 + 26f * inventoryScale, (float)num8 + 26f * inventoryScale), null, color, 0f, new Vector2(TextureAssets.NpcHead[num9].Width() / 2, TextureAssets.NpcHead[num9].Height() / 2), scale, SpriteEffects.None, 0f);
39146 num++;
39147 num4++;
39148 num5++;
39149 }
39150 UILinkPointNavigator.Shortcuts.NPCS_IconsTotal = num4;
39151 if (text != "" && mouseItem.type == 0)
39152 {
39153 MouseText(text, 0, 0);
39154 }
39155 }
static void PlaySound(int type, Vector2 position, int style=1)
static Asset< Texture2D > InventoryBack
static Asset< Texture2D > InventoryBack14
static Asset< Texture2D > InventoryBack11
static Asset< Texture2D >[] NpcHead
static bool[] CannotBeDrawnInHousingUI
Definition NPCHeadID.cs:9
static readonly int Count
Definition NPCHeadID.cs:174
void SetMouseNPC_ToHousingQuery()
Definition Main.cs:3041
static SpriteBatch spriteBatch
Definition Main.cs:974
static int myPlayer
Definition Main.cs:1801
List< int > _npcTypesThatAlreadyDrewAHead
Definition Main.cs:2435
static bool mouseLeftRelease
Definition Main.cs:1755
static int screenHeight
Definition Main.cs:1721
static Microsoft.Xna.Framework.Color inventoryBack
Definition Main.cs:2451
static bool mouseText
Definition Main.cs:2453
static Item mouseItem
Definition Main.cs:1773
void SetMouseNPC(int index, int type)
Definition Main.cs:3035
static float inventoryScale
Definition Main.cs:1779
static bool hidePVPIcons
Definition Main.cs:2445
int[] _npcIndexWhoHoldsHeadIndex
Definition Main.cs:2437
static NPC[] npc
Definition Main.cs:1685
static int screenWidth
Definition Main.cs:1719
static int mH
Definition Main.cs:2455
static int mouseY
Definition Main.cs:606
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 bool mouseLeft
Definition Main.cs:614
static void SetPosition(int ID, Vector2 Position)

References Terraria.Main._npcIndexWhoHoldsHeadIndex, Terraria.Main._npcTypesThatAlreadyDrewAHead, System.Collections.Generic.List< T >.Add(), Terraria.ID.NPCHeadID.Sets.CannotBeDrawnInHousingUI, System.Collections.Generic.List< T >.Clear(), System.Collections.Generic.List< T >.Contains(), Terraria.ID.NPCHeadID.Count, Terraria.UI.Gamepad.UILinkPointNavigator.CurrentPoint, System.FullName, Terraria.GameContent.TownNPCProfiles.GetHeadIndexSafe(), Terraria.Main.hidePVPIcons, System.Text.RegularExpressions.i, Terraria.GameInput.PlayerInput.IgnoreMouseInterface, Terraria.Lang.inter, Terraria.GameContent.TextureAssets.InventoryBack, Terraria.Main.inventoryBack, Terraria.GameContent.TextureAssets.InventoryBack11, Terraria.GameContent.TextureAssets.InventoryBack14, Terraria.Main.inventoryScale, Terraria.Main.mH, Terraria.Main.mouseItem, Terraria.Main.mouseLeft, Terraria.Main.mouseLeftRelease, Terraria.Main.mouseText, Terraria.Main.MouseText(), Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Main.myPlayer, Terraria.Main.npc, Terraria.GameContent.TextureAssets.NpcHead, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Main.screenHeight, Terraria.Main.screenWidth, Terraria.Main.SetMouseNPC(), Terraria.Main.SetMouseNPC_ToHousingQuery(), Terraria.UI.Gamepad.UILinkPointNavigator.SetPosition(), Terraria.Main.spriteBatch, System.text, System.type, Terraria.GameInput.PlayerInput.UsingGamepadUI, System.value, Microsoft.Xna.Framework.Graphics.Vector2, and Microsoft.Xna.Framework.Color.White.

Referenced by Terraria.Main.DrawInventory().