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

◆ DrawSettingButton()

static void Terraria.Main.DrawSettingButton ( ref bool mouseOver,
ref float scale,
int posX,
int posY,
string text,
string textSizeMatcher,
Action clickAction )
inlinestatic

Definition at line 42358 of file Main.cs.

42359 {
42360 Vector2 vector = FontAssets.MouseText.Value.MeasureString(textSizeMatcher);
42361 Vector2 vector2 = FontAssets.MouseText.Value.MeasureString(text);
42362 Vector2 vector3 = FontAssets.DeathText.Value.MeasureString(text);
42363 float num = vector.X / vector2.X;
42364 if (mouseOver)
42365 {
42366 if ((double)scale < 0.96)
42367 {
42368 scale += 0.02f;
42369 }
42370 }
42371 else if ((double)scale > 0.8)
42372 {
42373 scale -= 0.02f;
42374 }
42376 for (int i = 0; i < 5; i++)
42377 {
42378 int num2 = 0;
42379 int num3 = 0;
42381 if (i == 0)
42382 {
42383 num2 = -2;
42384 }
42385 if (i == 1)
42386 {
42387 num2 = 2;
42388 }
42389 if (i == 2)
42390 {
42391 num3 = -2;
42392 }
42393 if (i == 3)
42394 {
42395 num3 = 2;
42396 }
42397 if (i == 4)
42398 {
42400 }
42401 DynamicSpriteFontExtensionMethods.DrawString(spriteBatch, FontAssets.DeathText.Value, text, new Vector2(posX + num2, posY + num3), color, 0f, new Vector2(vector3.X / 2f, vector3.Y / 2f), (scale - 0.2f) * num, SpriteEffects.None, 0f);
42402 }
42403 if ((float)mouseX > (float)posX - vector3.X / 2f && (float)mouseX < (float)posX + vector3.X / 2f && (float)mouseY > (float)posY - vector3.Y / 2f && (float)mouseY < (float)posY + vector3.Y / 2f - 10f && !LocalPlayer.mouseInterface)
42404 {
42406 {
42407 if (!mouseOver)
42408 {
42410 }
42411 mouseOver = true;
42412 player[myPlayer].mouseInterface = true;
42414 {
42415 mouseOver = false;
42416 scale = 0.8f;
42417 clickAction();
42418 }
42419 }
42420 }
42421 else
42422 {
42423 mouseOver = false;
42424 }
42425 }
static void DrawString(this SpriteBatch spriteBatch, DynamicSpriteFont spriteFont, string text, Vector2 position, Color color)
static void PlaySound(int type, Vector2 position, int style=1)
static Asset< DynamicSpriteFont > DeathText
Definition FontAssets.cs:12
static Asset< DynamicSpriteFont > MouseText
Definition FontAssets.cs:10
static SpriteBatch spriteBatch
Definition Main.cs:974
static int myPlayer
Definition Main.cs:1801
static bool mouseLeftRelease
Definition Main.cs:1755
static int mouseY
Definition Main.cs:606
static Player LocalPlayer
Definition Main.cs:2829
static Player[] player
Definition Main.cs:1803
static int mouseX
Definition Main.cs:604
static bool mouseLeft
Definition Main.cs:614
static void SetPosition(int ID, Vector2 Position)

References Microsoft.Xna.Framework.Color.Black, Terraria.GameContent.FontAssets.DeathText, ReLogic.Graphics.DynamicSpriteFontExtensionMethods.DrawString(), System.Text.RegularExpressions.i, Terraria.GameInput.PlayerInput.IgnoreMouseInterface, Terraria.Main.LocalPlayer, Terraria.Main.mouseLeft, Terraria.Main.mouseLeftRelease, Terraria.GameContent.FontAssets.MouseText, Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Main.myPlayer, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Terraria.UI.Gamepad.UILinkPointNavigator.SetPosition(), Terraria.Main.spriteBatch, System.text, Microsoft.Xna.Framework.Graphics.Vector2, and Microsoft.Xna.Framework.Color.White.

Referenced by Terraria.Main.DrawInterface_29_SettingsButton().