Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ChatMessageContainer.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
using
Microsoft.Xna.Framework
;
3
using
Terraria.GameContent
;
4
5
namespace
Terraria.UI.Chat
;
6
7
public
class
ChatMessageContainer
8
{
9
public
string
OriginalText
;
10
11
private
bool
_prepared
;
12
13
private
List<TextSnippet[]>
_parsedText
;
14
15
private
Color
_color
;
16
17
private
int
_widthLimitInPixels
;
18
19
private
int
_timeLeft
;
20
21
public
int
LineCount
=>
_parsedText
.
Count
;
22
23
public
bool
CanBeShownWhenChatIsClosed
=>
_timeLeft
> 0;
24
25
public
bool
Prepared
=>
_prepared
;
26
27
public
void
SetContents
(
string
text,
Color
color,
int
widthLimitInPixels
)
28
{
29
OriginalText
= text;
30
_color
= color;
31
_widthLimitInPixels
=
widthLimitInPixels
;
32
MarkToNeedRefresh
();
33
_parsedText
=
new
List<TextSnippet[]>
();
34
_timeLeft
= 600;
35
Refresh
();
36
}
37
38
public
void
MarkToNeedRefresh
()
39
{
40
_prepared
=
false
;
41
}
42
43
public
void
Update
()
44
{
45
if
(
_timeLeft
> 0)
46
{
47
_timeLeft
--;
48
}
49
Refresh
();
50
}
51
52
public
TextSnippet
[]
GetSnippetWithInversedIndex
(
int
snippetIndex
)
53
{
54
int
index = _parsedText.Count - 1 -
snippetIndex
;
55
return
_parsedText
[index];
56
}
57
58
public
void
Refresh
()
59
{
60
if
(!
_prepared
)
61
{
62
_prepared
=
true
;
63
int
num =
_widthLimitInPixels
;
64
if
(num == -1)
65
{
66
num = Main.screenWidth - 320;
67
}
68
List<List<TextSnippet>
> list =
Utils
.
WordwrapStringSmart
(
OriginalText
,
_color
,
FontAssets
.
MouseText
.Value, num, 10);
69
_parsedText
.
Clear
();
70
for
(
int
i = 0; i < list.Count; i++)
71
{
72
_parsedText
.
Add
(list[i].ToArray());
73
}
74
}
75
}
76
}
System.Collections.Generic.Dictionary.Count
int Count
Definition
Dictionary.cs:682
System.Collections.Generic.Dictionary.Clear
void Clear()
Definition
Dictionary.cs:904
System.Collections.Generic.Dictionary.Add
void Add(TKey key, TValue value)
Definition
Dictionary.cs:873
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
Terraria.GameContent.FontAssets.MouseText
static Asset< DynamicSpriteFont > MouseText
Definition
FontAssets.cs:10
Terraria.GameContent.FontAssets
Definition
FontAssets.cs:7
Terraria.UI.Chat.ChatMessageContainer.LineCount
int LineCount
Definition
ChatMessageContainer.cs:21
Terraria.UI.Chat.ChatMessageContainer._parsedText
List< TextSnippet[]> _parsedText
Definition
ChatMessageContainer.cs:13
Terraria.UI.Chat.ChatMessageContainer._prepared
bool _prepared
Definition
ChatMessageContainer.cs:11
Terraria.UI.Chat.ChatMessageContainer.GetSnippetWithInversedIndex
TextSnippet[] GetSnippetWithInversedIndex(int snippetIndex)
Definition
ChatMessageContainer.cs:52
Terraria.UI.Chat.ChatMessageContainer._color
Color _color
Definition
ChatMessageContainer.cs:15
Terraria.UI.Chat.ChatMessageContainer._timeLeft
int _timeLeft
Definition
ChatMessageContainer.cs:19
Terraria.UI.Chat.ChatMessageContainer.MarkToNeedRefresh
void MarkToNeedRefresh()
Definition
ChatMessageContainer.cs:38
Terraria.UI.Chat.ChatMessageContainer.SetContents
void SetContents(string text, Color color, int widthLimitInPixels)
Definition
ChatMessageContainer.cs:27
Terraria.UI.Chat.ChatMessageContainer._widthLimitInPixels
int _widthLimitInPixels
Definition
ChatMessageContainer.cs:17
Terraria.UI.Chat.ChatMessageContainer.CanBeShownWhenChatIsClosed
bool CanBeShownWhenChatIsClosed
Definition
ChatMessageContainer.cs:23
Terraria.UI.Chat.ChatMessageContainer.Refresh
void Refresh()
Definition
ChatMessageContainer.cs:58
Terraria.UI.Chat.ChatMessageContainer.Prepared
bool Prepared
Definition
ChatMessageContainer.cs:25
Terraria.UI.Chat.ChatMessageContainer.Update
void Update()
Definition
ChatMessageContainer.cs:43
Terraria.UI.Chat.ChatMessageContainer.OriginalText
string OriginalText
Definition
ChatMessageContainer.cs:9
Terraria.UI.Chat.ChatMessageContainer
Definition
ChatMessageContainer.cs:8
Terraria.UI.Chat.TextSnippet
Definition
TextSnippet.cs:8
Terraria.Utils.WordwrapStringSmart
static List< List< TextSnippet > > WordwrapStringSmart(string text, Color c, DynamicSpriteFont font, int maxWidth, int maxLines)
Definition
Utils.cs:438
Terraria.Utils
Definition
Utils.cs:29
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
Terraria.GameContent
Definition
AchievementsHelper.cs:1
Terraria.UI.Chat
Definition
ChatLine.cs:3
Microsoft.Xna.Framework.Color
Definition
Color.cs:12
source
Terraria.UI.Chat
ChatMessageContainer.cs
Generated by
1.10.0