Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
UILinkPage.cs
Go to the documentation of this file.
1
using
System
;
2
using
System.Collections.Generic
;
3
4
namespace
Terraria.UI.Gamepad
;
5
6
public
class
UILinkPage
7
{
8
public
int
ID
;
9
10
public
int
PageOnLeft
= -1;
11
12
public
int
PageOnRight
= -1;
13
14
public
int
DefaultPoint
;
15
16
public
int
CurrentPoint
;
17
18
public
Dictionary<int, UILinkPoint>
LinkMap
=
new
Dictionary<int, UILinkPoint>
();
19
20
public
event
Action<int, int>
ReachEndEvent
;
21
22
public
event
Action
TravelEvent
;
23
24
public
event
Action
LeaveEvent
;
25
26
public
event
Action
EnterEvent
;
27
28
public
event
Action
UpdateEvent
;
29
30
public
event
Func<bool>
IsValidEvent
;
31
32
public
event
Func<bool>
CanEnterEvent
;
33
34
public
event
Action<int>
OnPageMoveAttempt
;
35
36
public
event
Func<string>
OnSpecialInteracts
;
37
38
public
UILinkPage
()
39
{
40
}
41
42
public
UILinkPage
(
int
id
)
43
{
44
ID = id;
45
}
46
47
public
void
Update
()
48
{
49
if
(this.UpdateEvent !=
null
)
50
{
51
this.
UpdateEvent
();
52
}
53
}
54
55
public
void
Leave
()
56
{
57
if
(this.LeaveEvent !=
null
)
58
{
59
this.
LeaveEvent
();
60
}
61
}
62
63
public
void
Enter
()
64
{
65
if
(this.EnterEvent !=
null
)
66
{
67
this.
EnterEvent
();
68
}
69
}
70
71
public
bool
IsValid
()
72
{
73
if
(this.IsValidEvent !=
null
)
74
{
75
return
this.
IsValidEvent
();
76
}
77
return
true
;
78
}
79
80
public
bool
CanEnter
()
81
{
82
if
(this.CanEnterEvent !=
null
)
83
{
84
return
this.
CanEnterEvent
();
85
}
86
return
true
;
87
}
88
89
public
void
TravelUp
()
90
{
91
Travel
(LinkMap[
CurrentPoint
].Up);
92
}
93
94
public
void
TravelDown
()
95
{
96
Travel
(
LinkMap
[
CurrentPoint
].Down);
97
}
98
99
public
void
TravelLeft
()
100
{
101
Travel
(
LinkMap
[
CurrentPoint
].
Left
);
102
}
103
104
public
void
TravelRight
()
105
{
106
Travel
(
LinkMap
[
CurrentPoint
].
Right
);
107
}
108
109
public
void
SwapPageLeft
()
110
{
111
if
(this.OnPageMoveAttempt !=
null
)
112
{
113
this.
OnPageMoveAttempt
(-1);
114
}
115
UILinkPointNavigator
.
ChangePage
(
PageOnLeft
);
116
}
117
118
public
void
SwapPageRight
()
119
{
120
if
(this.OnPageMoveAttempt !=
null
)
121
{
122
this.
OnPageMoveAttempt
(1);
123
}
124
UILinkPointNavigator
.
ChangePage
(
PageOnRight
);
125
}
126
127
private
void
Travel
(
int
next)
128
{
129
if
(next < 0)
130
{
131
if
(this.ReachEndEvent !=
null
)
132
{
133
this.
ReachEndEvent
(CurrentPoint, next);
134
if
(this.TravelEvent !=
null
)
135
{
136
this.
TravelEvent
();
137
}
138
}
139
}
140
else
141
{
142
UILinkPointNavigator
.
ChangePoint
(next);
143
if
(this.TravelEvent !=
null
)
144
{
145
this.
TravelEvent
();
146
}
147
}
148
}
149
150
public
string
SpecialInteractions
()
151
{
152
if
(this.OnSpecialInteracts !=
null
)
153
{
154
return
this.
OnSpecialInteracts
();
155
}
156
return
string
.Empty;
157
}
158
}
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
Terraria.UI.Gamepad.UILinkPage.Leave
void Leave()
Definition
UILinkPage.cs:55
Terraria.UI.Gamepad.UILinkPage.ReachEndEvent
Action< int, int > ReachEndEvent
Definition
UILinkPage.cs:20
Terraria.UI.Gamepad.UILinkPage.Enter
void Enter()
Definition
UILinkPage.cs:63
Terraria.UI.Gamepad.UILinkPage.ID
int ID
Definition
UILinkPage.cs:8
Terraria.UI.Gamepad.UILinkPage.Update
void Update()
Definition
UILinkPage.cs:47
Terraria.UI.Gamepad.UILinkPage.SwapPageLeft
void SwapPageLeft()
Definition
UILinkPage.cs:109
Terraria.UI.Gamepad.UILinkPage.SpecialInteractions
string SpecialInteractions()
Definition
UILinkPage.cs:150
Terraria.UI.Gamepad.UILinkPage.UILinkPage
UILinkPage()
Definition
UILinkPage.cs:38
Terraria.UI.Gamepad.UILinkPage.TravelEvent
Action TravelEvent
Definition
UILinkPage.cs:22
Terraria.UI.Gamepad.UILinkPage.PageOnRight
int PageOnRight
Definition
UILinkPage.cs:12
Terraria.UI.Gamepad.UILinkPage.LinkMap
Dictionary< int, UILinkPoint > LinkMap
Definition
UILinkPage.cs:18
Terraria.UI.Gamepad.UILinkPage.IsValid
bool IsValid()
Definition
UILinkPage.cs:71
Terraria.UI.Gamepad.UILinkPage.UILinkPage
UILinkPage(int id)
Definition
UILinkPage.cs:42
Terraria.UI.Gamepad.UILinkPage.SwapPageRight
void SwapPageRight()
Definition
UILinkPage.cs:118
Terraria.UI.Gamepad.UILinkPage.UpdateEvent
Action UpdateEvent
Definition
UILinkPage.cs:28
Terraria.UI.Gamepad.UILinkPage.DefaultPoint
int DefaultPoint
Definition
UILinkPage.cs:14
Terraria.UI.Gamepad.UILinkPage.TravelUp
void TravelUp()
Definition
UILinkPage.cs:89
Terraria.UI.Gamepad.UILinkPage.EnterEvent
Action EnterEvent
Definition
UILinkPage.cs:26
Terraria.UI.Gamepad.UILinkPage.PageOnLeft
int PageOnLeft
Definition
UILinkPage.cs:10
Terraria.UI.Gamepad.UILinkPage.TravelRight
void TravelRight()
Definition
UILinkPage.cs:104
Terraria.UI.Gamepad.UILinkPage.LeaveEvent
Action LeaveEvent
Definition
UILinkPage.cs:24
Terraria.UI.Gamepad.UILinkPage.Travel
void Travel(int next)
Definition
UILinkPage.cs:127
Terraria.UI.Gamepad.UILinkPage.IsValidEvent
Func< bool > IsValidEvent
Definition
UILinkPage.cs:30
Terraria.UI.Gamepad.UILinkPage.TravelLeft
void TravelLeft()
Definition
UILinkPage.cs:99
Terraria.UI.Gamepad.UILinkPage.CurrentPoint
int CurrentPoint
Definition
UILinkPage.cs:16
Terraria.UI.Gamepad.UILinkPage.TravelDown
void TravelDown()
Definition
UILinkPage.cs:94
Terraria.UI.Gamepad.UILinkPage.OnSpecialInteracts
Func< string > OnSpecialInteracts
Definition
UILinkPage.cs:36
Terraria.UI.Gamepad.UILinkPage.OnPageMoveAttempt
Action< int > OnPageMoveAttempt
Definition
UILinkPage.cs:34
Terraria.UI.Gamepad.UILinkPage.CanEnterEvent
Func< bool > CanEnterEvent
Definition
UILinkPage.cs:32
Terraria.UI.Gamepad.UILinkPage.CanEnter
bool CanEnter()
Definition
UILinkPage.cs:80
Terraria.UI.Gamepad.UILinkPage
Definition
UILinkPage.cs:7
Terraria.UI.Gamepad.UILinkPointNavigator.ChangePoint
static void ChangePoint(int PointID)
Definition
UILinkPointNavigator.cs:487
Terraria.UI.Gamepad.UILinkPointNavigator.ChangePage
static void ChangePage(int PageID)
Definition
UILinkPointNavigator.cs:477
Terraria.UI.Gamepad.UILinkPointNavigator
Definition
UILinkPointNavigator.cs:13
System.Collections.Generic.TreeRotation.Right
@ Right
System.Collections.Generic.TreeRotation.Left
@ Left
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System
Definition
BlockingCollection.cs:8
Terraria.UI.Gamepad
Definition
GamepadMainMenuHandler.cs:6
source
Terraria.UI.Gamepad
UILinkPage.cs
Generated by
1.10.0