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

◆ DoUpdate_HandleChat()

static void Terraria.Main.DoUpdate_HandleChat ( )
inlinestaticprivate

Definition at line 17001 of file Main.cs.

17002 {
17004 {
17005 drawingPlayerChat = false;
17006 return;
17007 }
17008 if (editSign)
17009 {
17010 drawingPlayerChat = false;
17011 }
17013 {
17014 drawingPlayerChat = false;
17015 }
17016 if (!drawingPlayerChat)
17017 {
17018 chatMonitor.ResetOffset();
17019 return;
17020 }
17021 int linesOffset = 0;
17022 if (keyState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Up))
17023 {
17024 linesOffset = 1;
17025 }
17026 else if (keyState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Down))
17027 {
17028 linesOffset = -1;
17029 }
17030 chatMonitor.Offset(linesOffset);
17031 if (keyState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Escape))
17032 {
17033 drawingPlayerChat = false;
17034 }
17035 string text = chatText;
17037 int num = 470;
17038 num = (int)((float)screenWidth * (1f / UIScale)) - 330;
17039 if (text != chatText)
17040 {
17042 {
17043 int num2 = Math.Max(0, (int)(x - (float)num) / 100);
17044 chatText = chatText.Substring(0, chatText.Length - 1 - num2);
17045 }
17046 }
17047 if (text != chatText)
17048 {
17050 }
17051 if (!inputTextEnter || !chatRelease)
17052 {
17053 return;
17054 }
17055 if (chatText != "")
17056 {
17057 ChatMessage message = ChatManager.Commands.CreateOutgoingMessage(chatText);
17058 if (netMode == 1)
17059 {
17061 }
17062 else if (netMode == 0)
17063 {
17064 ChatManager.Commands.ProcessIncomingMessage(message, myPlayer);
17065 }
17066 }
17067 chatText = "";
17069 chatRelease = false;
17071 }
static byte Max(byte val1, byte val2)
Definition Math.cs:738
static void PlaySound(int type, Vector2 position, int style=1)
static void SendChatMessageFromClient(ChatMessage message)
Definition ChatHelper.cs:69
static Asset< DynamicSpriteFont > MouseText
Definition FontAssets.cs:10
static string GetInputText(string oldString, bool allowMultiLine=false)
Definition Main.cs:18593
static bool drawingPlayerChat
Definition Main.cs:1739
static int myPlayer
Definition Main.cs:1801
static int netMode
Definition Main.cs:2095
static bool editSign
Definition Main.cs:1815
static float UIScale
Definition Main.cs:2624
static string chatText
Definition Main.cs:1743
static object CurrentInputTextTakerOverride
Definition Main.cs:1737
static IChatMonitor chatMonitor
Definition Main.cs:2339
static KeyboardState keyState
Definition Main.cs:988
static bool chatRelease
Definition Main.cs:1741
static int screenWidth
Definition Main.cs:1719
static bool inputTextEnter
Definition Main.cs:1745
static void ClosePlayerChat()
Definition Main.cs:16993
static readonly ChatCommandProcessor Commands
static Vector2 GetStringSize(DynamicSpriteFont font, string text, Vector2 baseScale, float maxWidth=-1f)

References Terraria.Main.chatMonitor, Terraria.Main.chatRelease, Terraria.Main.chatText, Terraria.Main.ClosePlayerChat(), Terraria.UI.Chat.ChatManager.Commands, Terraria.Main.CurrentInputTextTakerOverride, Terraria.Main.drawingPlayerChat, Terraria.Main.editSign, Terraria.Main.GetInputText(), Terraria.UI.Chat.ChatManager.GetStringSize(), Terraria.Main.inputTextEnter, Terraria.Main.keyState, System.Math.Max(), Terraria.GameContent.FontAssets.MouseText, Terraria.Main.myPlayer, Terraria.Main.netMode, Microsoft.Xna.Framework.Vector2.One, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Main.screenWidth, Terraria.Chat.ChatHelper.SendChatMessageFromClient(), System.text, Terraria.Main.UIScale, and Terraria.GameInput.PlayerInput.UsingGamepad.

Referenced by Terraria.Main.DoUpdate().