Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
KeyConfiguration.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
using
System.Linq
;
3
4
namespace
Terraria.GameInput
;
5
6
public
class
KeyConfiguration
7
{
8
public
Dictionary<string, List<string>
>
KeyStatus
=
new
Dictionary<string, List<string>
>();
9
10
public
bool
DoGrappleAndInteractShareTheSameKey
11
{
12
get
13
{
14
if
(
KeyStatus
[
"Grapple"
].
Count
> 0 &&
KeyStatus
[
"MouseRight"
].
Count
> 0)
15
{
16
return
KeyStatus
[
"MouseRight"
].
Contains
(
KeyStatus
[
"Grapple"
][0]);
17
}
18
return
false
;
19
}
20
}
21
22
public
void
SetupKeys
()
23
{
24
KeyStatus
.
Clear
();
25
foreach
(
string
knownTrigger
in
PlayerInput
.
KnownTriggers
)
26
{
27
KeyStatus
.
Add
(
knownTrigger
,
new
List<string>
());
28
}
29
}
30
31
public
void
Processkey
(
TriggersSet
set
,
string
newKey
,
InputMode
mode)
32
{
33
foreach
(
KeyValuePair
<
string
,
List<string>
> item
in
KeyStatus
)
34
{
35
if
(item.Value.Contains(
newKey
))
36
{
37
set
.KeyStatus[item.Key] =
true
;
38
set
.LatestInputMode[item.Key] = mode;
39
}
40
}
41
if
(
set
.Up ||
set
.Down ||
set
.
Left
||
set
.
Right
||
set
.HotbarPlus ||
set
.HotbarMinus || ((
Main
.
gameMenu
||
Main
.
ingameOptionsWindow
) && (
set
.MenuUp ||
set
.MenuDown ||
set
.MenuLeft ||
set
.MenuRight)))
42
{
43
set.UsedMovementKey =
true
;
44
}
45
}
46
47
public
void
CopyKeyState
(
TriggersSet
oldSet
,
TriggersSet
newSet
,
string
newKey
)
48
{
49
foreach
(
KeyValuePair
<
string
,
List<string>
> item
in
KeyStatus
)
50
{
51
if
(item.Value.Contains(
newKey
))
52
{
53
newSet
.KeyStatus[item.Key] =
oldSet
.KeyStatus[item.Key];
54
}
55
}
56
}
57
58
public
void
ReadPreferences
(
Dictionary
<
string
,
List<string>
> dict)
59
{
60
foreach
(
KeyValuePair
<
string
,
List<string>
> item
in
dict)
61
{
62
if
(!
KeyStatus
.
ContainsKey
(item.Key))
63
{
64
continue
;
65
}
66
KeyStatus
[item.Key].
Clear
();
67
foreach
(
string
item2
in
item.Value)
68
{
69
KeyStatus
[item.Key].
Add
(
item2
);
70
}
71
}
72
}
73
74
public
Dictionary<string, List<string>
>
WritePreferences
()
75
{
76
Dictionary<string, List<string>
> dictionary =
new
Dictionary<string, List<string>
>();
77
foreach
(
KeyValuePair
<
string
,
List<string>
> item
in
KeyStatus
)
78
{
79
if
(item.Value.Count > 0)
80
{
81
dictionary.Add(item.Key, item.Value.ToList());
82
}
83
}
84
if
(!dictionary.ContainsKey(
"MouseLeft"
) || dictionary[
"MouseLeft"
].Count == 0)
85
{
86
dictionary[
"MouseLeft"
] =
new
List<string>
{
"Mouse1"
};
87
}
88
if
(!dictionary.ContainsKey(
"Inventory"
) || dictionary[
"Inventory"
].Count == 0)
89
{
90
dictionary[
"Inventory"
] =
new
List<string>
{
"Escape"
};
91
}
92
return
dictionary;
93
}
94
}
System.Collections.Generic.Dictionary.ContainsKey
bool ContainsKey(TKey key)
Definition
Dictionary.cs:917
System.Collections.Generic.Dictionary.Contains
bool ICollection< KeyValuePair< TKey, TValue > >. Contains(KeyValuePair< TKey, TValue > keyValuePair)
Definition
Dictionary.cs:883
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
System.Collections.Generic.KeyValuePair
Definition
KeyValuePair.cs:31
Terraria.GameInput.KeyConfiguration.CopyKeyState
void CopyKeyState(TriggersSet oldSet, TriggersSet newSet, string newKey)
Definition
KeyConfiguration.cs:47
Terraria.GameInput.KeyConfiguration.WritePreferences
Dictionary< string, List< string > > WritePreferences()
Definition
KeyConfiguration.cs:74
Terraria.GameInput.KeyConfiguration.KeyStatus
Dictionary< string, List< string > > KeyStatus
Definition
KeyConfiguration.cs:8
Terraria.GameInput.KeyConfiguration.Processkey
void Processkey(TriggersSet set, string newKey, InputMode mode)
Definition
KeyConfiguration.cs:31
Terraria.GameInput.KeyConfiguration.ReadPreferences
void ReadPreferences(Dictionary< string, List< string > > dict)
Definition
KeyConfiguration.cs:58
Terraria.GameInput.KeyConfiguration.SetupKeys
void SetupKeys()
Definition
KeyConfiguration.cs:22
Terraria.GameInput.KeyConfiguration.DoGrappleAndInteractShareTheSameKey
bool DoGrappleAndInteractShareTheSameKey
Definition
KeyConfiguration.cs:11
Terraria.GameInput.KeyConfiguration
Definition
KeyConfiguration.cs:7
Terraria.GameInput.PlayerInput.KnownTriggers
static List< string > KnownTriggers
Definition
PlayerInput.cs:194
Terraria.GameInput.PlayerInput
Definition
PlayerInput.cs:18
Terraria.GameInput.TriggersSet
Definition
TriggersSet.cs:8
Terraria.Main.ingameOptionsWindow
static bool ingameOptionsWindow
Definition
Main.cs:704
Terraria.Main.gameMenu
static bool gameMenu
Definition
Main.cs:1926
Terraria.Main
Definition
Main.cs:79
System.Collections.Generic.TreeRotation.Right
@ Right
System.Collections.Generic.TreeRotation.Left
@ Left
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Linq
Definition
ImmutableArrayExtensions.cs:4
Terraria.GameInput.InputMode
InputMode
Definition
InputMode.cs:4
Terraria.GameInput
Definition
CursorMode.cs:1
Terraria.PartyHatColor.Count
@ Count
source
Terraria.GameInput
KeyConfiguration.cs
Generated by
1.10.0