Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
HelpCommand.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
using
Microsoft.Xna.Framework
;
3
using
Terraria.Localization
;
4
5
namespace
Terraria.Chat.Commands
;
6
7
[
ChatCommand
(
"Help"
)]
8
public
class
HelpCommand
:
IChatCommand
9
{
10
private
static
readonly
Color
RESPONSE_COLOR
=
new
Color
(255, 240, 20);
11
12
public
void
ProcessIncomingMessage
(
string
text,
byte
clientId
)
13
{
14
ChatHelper
.
SendChatMessageToClient
(
ComposeMessage
(
GetCommandAliasesByID
()),
RESPONSE_COLOR
,
clientId
);
15
}
16
17
private
static
Dictionary<string, List<LocalizedText>
>
GetCommandAliasesByID
()
18
{
19
object
substitutions
=
Lang
.
CreateDialogSubstitutionObject
();
20
LocalizedText
[] array =
Language
.
FindAll
(
Lang
.
CreateDialogFilter
(
"ChatCommandDescription."
,
substitutions
));
21
Dictionary<string, List<LocalizedText>
> dictionary =
new
Dictionary<string, List<LocalizedText>
>();
22
LocalizedText
[]
array2
= array;
23
foreach
(
LocalizedText
localizedText
in
array2
)
24
{
25
string
key =
localizedText
.Key;
26
key = key.Replace(
"ChatCommandDescription."
,
""
);
27
int
num = key.IndexOf(
'_'
);
28
if
(num != -1)
29
{
30
key = key.Substring(0, num);
31
}
32
if
(!dictionary.TryGetValue(key,
out
var
value))
33
{
34
value = (dictionary[key] =
new
List<LocalizedText>
());
35
}
36
value.Add(
localizedText
);
37
}
38
return
dictionary;
39
}
40
41
private
static
NetworkText
ComposeMessage
(
Dictionary
<
string
,
List<LocalizedText>
>
aliases
)
42
{
43
string
text =
""
;
44
for
(
int
i = 0; i <
aliases
.
Count
; i++)
45
{
46
text = text +
"{"
+ i +
"}\n"
;
47
}
48
List<NetworkText>
list =
new
List<NetworkText>
();
49
foreach
(
KeyValuePair
<
string
,
List<LocalizedText>
> alias
in
aliases
)
50
{
51
list.Add(
Language
.
GetText
(
"ChatCommandDescription."
+ alias.Key).ToNetworkText());
52
}
53
string
text2
= text;
54
object
[]
substitutions
= list.ToArray();
55
return
NetworkText
.
FromFormattable
(
text2
,
substitutions
);
56
}
57
58
public
void
ProcessOutgoingMessage
(
ChatMessage
message)
59
{
60
}
61
}
System.Collections.Generic.Dictionary.Count
int Count
Definition
Dictionary.cs:682
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Collections.Generic.KeyValuePair
Definition
KeyValuePair.cs:31
Terraria.Chat.ChatHelper.SendChatMessageToClient
static void SendChatMessageToClient(NetworkText text, Color color, int playerId)
Definition
ChatHelper.cs:28
Terraria.Chat.ChatHelper
Definition
ChatHelper.cs:12
Terraria.Chat.ChatMessage
Definition
ChatMessage.cs:9
Terraria.Chat.Commands.HelpCommand.ComposeMessage
static NetworkText ComposeMessage(Dictionary< string, List< LocalizedText > > aliases)
Definition
HelpCommand.cs:41
Terraria.Chat.Commands.HelpCommand.GetCommandAliasesByID
static Dictionary< string, List< LocalizedText > > GetCommandAliasesByID()
Definition
HelpCommand.cs:17
Terraria.Chat.Commands.HelpCommand.RESPONSE_COLOR
static readonly Color RESPONSE_COLOR
Definition
HelpCommand.cs:10
Terraria.Chat.Commands.HelpCommand.ProcessOutgoingMessage
void ProcessOutgoingMessage(ChatMessage message)
Definition
HelpCommand.cs:58
Terraria.Chat.Commands.HelpCommand.ProcessIncomingMessage
void ProcessIncomingMessage(string text, byte clientId)
Definition
HelpCommand.cs:12
Terraria.Chat.Commands.HelpCommand
Definition
HelpCommand.cs:9
Terraria.Lang.CreateDialogSubstitutionObject
static object CreateDialogSubstitutionObject(NPC npc=null)
Definition
Lang.cs:74
Terraria.Lang.CreateDialogFilter
static LanguageSearchFilter CreateDialogFilter(string startsWith, object substitutions)
Definition
Lang.cs:388
Terraria.Lang
Definition
Lang.cs:17
Terraria.Localization.Language.FindAll
static LocalizedText[] FindAll(Regex regex)
Definition
Language.cs:55
Terraria.Localization.Language.GetText
static LocalizedText GetText(string key)
Definition
Language.cs:10
Terraria.Localization.Language
Definition
Language.cs:7
Terraria.Localization.LocalizedText
Definition
LocalizedText.cs:7
Terraria.Localization.NetworkText.FromFormattable
static NetworkText FromFormattable(string text, params object[] substitutions)
Definition
NetworkText.cs:45
Terraria.Localization.NetworkText
Definition
NetworkText.cs:8
Terraria.Chat.Commands.IChatCommand
Definition
IChatCommand.cs:4
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
Terraria.Chat.Commands
Definition
AllDeathCommand.cs:4
Terraria.Localization
Definition
GameCulture.cs:5
Microsoft.Xna.Framework.Color
Definition
Color.cs:12
source
Terraria.Chat.Commands
HelpCommand.cs
Generated by
1.10.0