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

◆ DrawNPCChatButtons()

static void Terraria.Main.DrawNPCChatButtons ( int superColor,
Microsoft::Xna::Framework::Color chatColor,
int numLines,
string focusText,
string focusText3 )
inlinestaticprivate

Definition at line 37265 of file Main.cs.

37266 {
37267 float y = 130 + numLines * 30;
37268 int num = 180 + (screenWidth - 800) / 2;
37270 Player player = Main.player[myPlayer];
37271 Vector2 vector = new Vector2(num, y);
37272 string text = focusText;
37275 Vector2 vector3 = new Vector2(0.9f);
37279 Vector2 vector4 = new Vector2(1f);
37281 float num2 = 1.2f;
37282 if (stringSize.X > 260f)
37283 {
37284 vector4.X *= 260f / stringSize.X;
37285 }
37287 {
37288 player.mouseInterface = true;
37289 player.releaseUseItem = false;
37290 vector3 *= num2;
37291 if (!npcChatFocus2)
37292 {
37294 }
37295 npcChatFocus2 = true;
37296 }
37297 else
37298 {
37299 if (npcChatFocus2)
37300 {
37302 }
37303 npcChatFocus2 = false;
37304 }
37307 if (text.Length > 0)
37308 {
37310 UILinkPointNavigator.Shortcuts.NPCCHAT_ButtonsLeft = true;
37311 }
37312 Vector2 vector5 = new Vector2((float)num + stringSize.X * vector4.X + 30f, y);
37313 text = Lang.inter[52].Value;
37314 value = FontAssets.MouseText.Value;
37315 vector2 = vector5;
37316 vector3 = new Vector2(0.9f);
37318 baseColor = new Microsoft.Xna.Framework.Color(superColor, (int)((double)superColor / 1.1), superColor / 2, superColor);
37319 vector4 = new Vector2(1f);
37321 {
37322 player.mouseInterface = true;
37323 player.releaseUseItem = false;
37324 vector3 *= num2;
37325 if (!npcChatFocus1)
37326 {
37328 }
37329 npcChatFocus1 = true;
37330 }
37331 else
37332 {
37333 if (npcChatFocus1)
37334 {
37336 }
37337 npcChatFocus1 = false;
37338 }
37341 if (text.Length > 0)
37342 {
37344 UILinkPointNavigator.Shortcuts.NPCCHAT_ButtonsMiddle = true;
37345 }
37346 if (string.IsNullOrWhiteSpace(focusText3))
37347 {
37348 npcChatFocus3 = false;
37349 UILinkPointNavigator.Shortcuts.NPCCHAT_ButtonsRight = false;
37350 }
37351 else
37352 {
37353 Vector2 vector6 = new Vector2(vector5.X + stringSize.X * vector4.X + 30f, y);
37354 text = focusText3;
37355 value = FontAssets.MouseText.Value;
37356 vector2 = vector6;
37357 vector3 = new Vector2(0.9f);
37360 vector4 = new Vector2(1f);
37361 vector5.X = vector6.X;
37363 {
37364 player.mouseInterface = true;
37365 player.releaseUseItem = false;
37366 vector3 *= num2;
37367 if (!npcChatFocus3)
37368 {
37370 }
37371 npcChatFocus3 = true;
37372 }
37373 else
37374 {
37375 if (npcChatFocus3)
37376 {
37378 }
37379 npcChatFocus3 = false;
37380 }
37384 UILinkPointNavigator.Shortcuts.NPCCHAT_ButtonsRight = true;
37385 }
37386 if (remixWorld)
37387 {
37388 return;
37389 }
37390 if (Main.player[myPlayer].currentShoppingSettings.HappinessReport == "")
37391 {
37392 npcChatFocus4 = false;
37393 UILinkPointNavigator.Shortcuts.NPCCHAT_ButtonsRight2 = false;
37394 return;
37395 }
37396 string textValue = Language.GetTextValue("UI.NPCCheckHappiness");
37397 Vector2 vector7 = new Vector2(vector5.X + stringSize.X * vector4.X + 30f, y);
37398 text = textValue;
37399 value = FontAssets.MouseText.Value;
37400 vector2 = vector7;
37401 vector3 = new Vector2(0.9f);
37403 baseColor = new Microsoft.Xna.Framework.Color(superColor, (int)((double)superColor / 1.1), superColor / 2, superColor);
37404 vector4 = new Vector2(1f);
37406 {
37407 player.mouseInterface = true;
37408 player.releaseUseItem = false;
37409 vector3 *= num2;
37410 if (!npcChatFocus4)
37411 {
37413 }
37414 npcChatFocus4 = true;
37415 }
37416 else
37417 {
37418 if (npcChatFocus4)
37419 {
37421 }
37422 npcChatFocus4 = false;
37423 }
37427 UILinkPointNavigator.Shortcuts.NPCCHAT_ButtonsRight2 = true;
37428 }
static void PlaySound(int type, Vector2 position, int style=1)
static Asset< DynamicSpriteFont > MouseText
Definition FontAssets.cs:10
static string GetTextValue(string key)
Definition Language.cs:15
static bool npcChatFocus1
Definition Main.cs:1827
static bool npcChatFocus2
Definition Main.cs:1829
static SpriteBatch spriteBatch
Definition Main.cs:974
static int myPlayer
Definition Main.cs:1801
static bool npcChatFocus4
Definition Main.cs:1833
static bool npcChatFocus3
Definition Main.cs:1831
static int screenWidth
Definition Main.cs:1719
static int mouseY
Definition Main.cs:606
static Player[] player
Definition Main.cs:1803
static int mouseX
Definition Main.cs:604
static bool remixWorld
Definition Main.cs:349
static void DrawColorCodedStringShadow(SpriteBatch spriteBatch, DynamicSpriteFont font, TextSnippet[] snippets, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, float spread=2f)
static Vector2 DrawColorCodedString(SpriteBatch spriteBatch, DynamicSpriteFont font, TextSnippet[] snippets, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, out int hoveredSnippet, float maxWidth, bool ignoreColors=false)
static Vector2 GetStringSize(DynamicSpriteFont font, string text, Vector2 baseScale, float maxWidth=-1f)
static void SetPosition(int ID, Vector2 Position)

References Microsoft.Xna.Framework.Color.Black, Microsoft.Xna.Framework.Color.Brown, Terraria.UI.Chat.ChatManager.DrawColorCodedString(), Terraria.UI.Chat.ChatManager.DrawColorCodedStringShadow(), Terraria.UI.Chat.ChatManager.GetStringSize(), Terraria.Localization.Language.GetTextValue(), Terraria.GameInput.PlayerInput.IgnoreMouseInterface, Terraria.Lang.inter, Terraria.GameContent.FontAssets.MouseText, Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Main.myPlayer, Terraria.Main.npcChatFocus1, Terraria.Main.npcChatFocus2, Terraria.Main.npcChatFocus3, Terraria.Main.npcChatFocus4, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Main.remixWorld, Terraria.Main.screenWidth, Terraria.UI.Gamepad.UILinkPointNavigator.SetPosition(), Terraria.Main.spriteBatch, System.text, System.value, and Microsoft.Xna.Framework.Graphics.Vector2.

Referenced by Terraria.Main.GUIChatDrawInner().