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

◆ DrawInterface_38_MouseCarriedObject()

void Terraria.Main.DrawInterface_38_MouseCarriedObject ( )
inlineprivate

Definition at line 42065 of file Main.cs.

42066 {
42067 if (mouseItem.type > 0 && mouseItem.stack > 0)
42068 {
42069 SetMouseNPC(-1, -1);
42070 player[myPlayer].cursorItemIconEnabled = false;
42071 player[myPlayer].cursorItemIconID = 0;
42072 mouseText = true;
42073 float num = inventoryScale;
42076 inventoryScale = num;
42077 }
42078 else
42079 {
42080 if (mouseNPCType <= -1)
42081 {
42082 return;
42083 }
42084 float num2 = 1f;
42085 num2 *= cursorScale;
42086 if (mouseNPCIndex >= 0)
42087 {
42089 if (!nPC.active || nPC.type != mouseNPCType)
42090 {
42092 }
42093 }
42094 int type = mouseNPCType;
42095 int num3 = ((mouseNPCIndex >= 0) ? TownNPCProfiles.GetHeadIndexSafe(npc[mouseNPCIndex]) : NPC.TypeToDefaultHeadIndex(type));
42097 spriteBatch.Draw(value, new Vector2((float)mouseX + 26f * num2 - (float)value.Width * 0.5f * num2, (float)mouseY + 26f * num2 - (float)value.Height * 0.5f * num2), null, Microsoft.Xna.Framework.Color.White, 0f, default(Vector2), num2, SpriteEffects.None, 0f);
42099 {
42100 return;
42101 }
42102 player[myPlayer].mouseInterface = true;
42103 mouseText = false;
42105 {
42107 SetMouseNPC(-1, -1);
42108 }
42109 if (!mouseLeft || !mouseLeftRelease)
42110 {
42111 return;
42112 }
42113 if (mouseNPCType == 0)
42114 {
42117 int x = (int)(((float)mouseX + screenPosition.X) / 16f);
42118 int y = (int)(((float)mouseY + screenPosition.Y) / 16f);
42119 if (player[myPlayer].gravDir == -1f)
42120 {
42121 y = (int)((screenPosition.Y + (float)screenHeight - (float)mouseY) / 16f);
42122 }
42124 int n = -1;
42125 if (WorldGen.MoveTownNPC(x, y, n))
42126 {
42127 NewText(Lang.inter[39].Value, byte.MaxValue, 240, 20);
42128 }
42129 return;
42130 }
42131 int num4 = mouseNPCIndex;
42132 if (num4 >= 0)
42133 {
42136 int x2 = (int)(((float)mouseX + screenPosition.X) / 16f);
42137 int y2 = (int)(((float)mouseY + screenPosition.Y) / 16f);
42139 if (WorldGen.MoveTownNPC(x2, y2, num4))
42140 {
42141 SetMouseNPC(-1, -1);
42142 WorldGen.moveRoom(x2, y2, num4);
42144 }
42145 }
42146 }
42147 }
static void PlaySound(int type, Vector2 position, int style=1)
static Asset< Texture2D >[] NpcHead
int mouseNPCType
Definition Main.cs:826
void SetMouseNPC_ToHousingQuery()
Definition Main.cs:3041
static SpriteBatch spriteBatch
Definition Main.cs:974
static int myPlayer
Definition Main.cs:1801
static bool mouseRight
Definition Main.cs:616
static bool mouseLeftRelease
Definition Main.cs:1755
static int screenHeight
Definition Main.cs:1721
static Vector2 screenPosition
Definition Main.cs:1715
static bool mouseText
Definition Main.cs:2453
static Item mouseItem
Definition Main.cs:1773
static void NewText(string newText, byte R=byte.MaxValue, byte G=byte.MaxValue, byte B=byte.MaxValue)
Definition Main.cs:61429
void SetMouseNPC(int index, int type)
Definition Main.cs:3035
static float inventoryScale
Definition Main.cs:1779
static bool mouseRightRelease
Definition Main.cs:1757
static float cursorScale
Definition Main.cs:2211
static NPC[] npc
Definition Main.cs:1685
static int mouseY
Definition Main.cs:606
int mouseNPCIndex
Definition Main.cs:824
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.cursorScale, Terraria.UI.ItemSlot.Draw(), Terraria.GameContent.TownNPCProfiles.GetHeadIndexSafe(), Terraria.GameInput.PlayerInput.IgnoreMouseInterface, Terraria.Lang.inter, Terraria.Main.inventoryScale, Terraria.Main.mouseItem, Terraria.Main.mouseLeft, Terraria.Main.mouseLeftRelease, Terraria.Main.mouseNPCIndex, Terraria.Main.mouseNPCType, Terraria.Main.mouseRight, Terraria.Main.mouseRightRelease, Terraria.Main.mouseText, Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.WorldGen.moveRoom(), Terraria.WorldGen.MoveTownNPC(), Terraria.Main.myPlayer, Terraria.Main.NewText(), Terraria.Main.npc, Terraria.GameContent.TextureAssets.NpcHead, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Main.screenHeight, Terraria.Main.screenPosition, Terraria.Main.SetMouseNPC(), Terraria.Main.SetMouseNPC_ToHousingQuery(), Terraria.GameInput.PlayerInput.SetZoom_MouseInWorld(), Terraria.GameInput.PlayerInput.SetZoom_Unscaled(), Terraria.Main.spriteBatch, System.type, Terraria.NPC.TypeToDefaultHeadIndex(), System.value, Microsoft.Xna.Framework.Graphics.Vector2, and Microsoft.Xna.Framework.Color.White.

Referenced by Terraria.Main.SetupDrawInterfaceLayers().