Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
EditSignDialog.cs
浏览该文件的文档.
1
using
System.Xml.Linq;
2
using
Engine
;
3
4
namespace
Game
{
5
public
class
EditSignDialog
:
Dialog
{
6
public
SubsystemSignBlockBehavior
m_subsystemSignBlockBehavior
;
7
8
public
Point3
m_signPoint
;
9
10
public
ContainerWidget
m_linesPage
;
11
12
public
ContainerWidget
m_urlPage
;
13
14
public
TextBoxWidget
m_textBox1
;
15
16
public
TextBoxWidget
m_textBox2
;
17
18
public
TextBoxWidget
m_textBox3
;
19
20
public
TextBoxWidget
m_textBox4
;
21
22
public
ButtonWidget
m_colorButton1
;
23
24
public
ButtonWidget
m_colorButton2
;
25
26
public
ButtonWidget
m_colorButton3
;
27
28
public
ButtonWidget
m_colorButton4
;
29
30
public
TextBoxWidget
m_urlTextBox
;
31
32
public
ButtonWidget
m_urlTestButton
;
33
34
public
ButtonWidget
m_okButton
;
35
36
public
ButtonWidget
m_cancelButton
;
37
38
public
ButtonWidget
m_urlButton
;
39
40
public
ButtonWidget
m_linesButton
;
41
42
public
SubsystemSignBlockBehavior.TextData
m_editingTextData
;
43
44
public
Color
[]
m_colors
= [
45
new
(0, 0, 0),
46
new
(140, 0, 0),
47
new
(0, 112, 0),
48
new
(0, 0, 96),
49
new
(160, 0, 128),
50
new
(0, 112, 112),
51
new
(160, 112, 0),
52
new
(180, 180, 180)
53
];
54
55
public
EditSignDialog
(
SubsystemSignBlockBehavior
subsystemSignBlockBehavior,
Point3
signPoint) {
56
XElement node =
ContentManager
.
Get
<XElement>(
"Dialogs/EditSignDialog"
);
57
LoadContents
(
this
, node);
58
m_linesPage
=
Children
.Find<
ContainerWidget
>(
"EditSignDialog.LinesPage"
);
59
m_urlPage
=
Children
.Find<
ContainerWidget
>(
"EditSignDialog.UrlPage"
);
60
m_textBox1
=
Children
.Find<
TextBoxWidget
>(
"EditSignDialog.TextBox1"
);
61
m_textBox2
=
Children
.Find<
TextBoxWidget
>(
"EditSignDialog.TextBox2"
);
62
m_textBox3
=
Children
.Find<
TextBoxWidget
>(
"EditSignDialog.TextBox3"
);
63
m_textBox4
=
Children
.Find<
TextBoxWidget
>(
"EditSignDialog.TextBox4"
);
64
m_colorButton1
=
Children
.Find<
ButtonWidget
>(
"EditSignDialog.ColorButton1"
);
65
m_colorButton2
=
Children
.Find<
ButtonWidget
>(
"EditSignDialog.ColorButton2"
);
66
m_colorButton3
=
Children
.Find<
ButtonWidget
>(
"EditSignDialog.ColorButton3"
);
67
m_colorButton4
=
Children
.Find<
ButtonWidget
>(
"EditSignDialog.ColorButton4"
);
68
m_urlTextBox
=
Children
.Find<
TextBoxWidget
>(
"EditSignDialog.UrlTextBox"
);
69
m_urlTestButton
=
Children
.Find<
ButtonWidget
>(
"EditSignDialog.UrlTestButton"
);
70
m_okButton
=
Children
.Find<
ButtonWidget
>(
"EditSignDialog.OkButton"
);
71
m_cancelButton
=
Children
.Find<
ButtonWidget
>(
"EditSignDialog.CancelButton"
);
72
m_urlButton
=
Children
.Find<
ButtonWidget
>(
"EditSignDialog.UrlButton"
);
73
m_linesButton
=
Children
.Find<
ButtonWidget
>(
"EditSignDialog.LinesButton"
);
74
m_subsystemSignBlockBehavior
= subsystemSignBlockBehavior;
75
m_signPoint
= signPoint;
76
SignData
signData =
m_subsystemSignBlockBehavior
.GetSignData(
m_signPoint
);
77
m_editingTextData
=
m_subsystemSignBlockBehavior
.m_textsByPoint.GetValueOrDefault(
m_signPoint
,
null
);
78
if
(signData !=
null
79
&&
m_editingTextData
!=
null
) {
80
m_textBox1.Text = signData.
Lines
[0];
81
m_textBox2.Text = signData.
Lines
[1];
82
m_textBox3.Text = signData.
Lines
[2];
83
m_textBox4.Text = signData.
Lines
[3];
84
m_colorButton1.Color = signData.
Colors
[0];
85
m_colorButton2.Color = signData.
Colors
[1];
86
m_colorButton3.Color = signData.
Colors
[2];
87
m_colorButton4.Color = signData.
Colors
[3];
88
m_urlTextBox.Text = signData.
Url
;
89
}
90
else
{
91
m_textBox1.Text =
string
.Empty;
92
m_textBox2.Text =
string
.Empty;
93
m_textBox3.Text =
string
.Empty;
94
m_textBox4.Text =
string
.Empty;
95
m_colorButton1.Color =
Color
.
Black
;
96
m_colorButton2.Color =
Color
.
Black
;
97
m_colorButton3.Color =
Color
.
Black
;
98
m_colorButton4.Color =
Color
.
Black
;
99
m_urlTextBox.Text =
string
.Empty;
100
}
101
m_linesPage.IsVisible =
true
;
102
m_urlPage.IsVisible =
false
;
103
UpdateControls
();
104
}
105
106
public
override
void
Update
() {
107
UpdateControls
();
108
if
(
m_okButton
.IsClicked) {
109
string
[] lines = [
m_textBox1
.Text,
m_textBox2
.Text,
m_textBox3
.Text,
m_textBox4
.Text];
110
Color
[] colors = [
m_colorButton1
.Color,
m_colorButton2
.Color,
m_colorButton3
.Color,
m_colorButton4
.Color];
111
m_subsystemSignBlockBehavior
.SetSignData(
m_signPoint
, lines, colors,
m_urlTextBox
.Text);
112
Dismiss
();
113
}
114
if
(
m_urlButton
.IsClicked) {
115
m_urlPage.IsVisible =
true
;
116
m_linesPage.IsVisible =
false
;
117
}
118
if
(
m_linesButton
.IsClicked) {
119
m_urlPage.IsVisible =
false
;
120
m_linesPage.IsVisible =
true
;
121
}
122
if
(
m_urlTestButton
.IsClicked) {
123
WebBrowserManager
.
LaunchBrowser
(
m_urlTextBox
.Text);
124
}
125
if
(
m_colorButton1
.IsClicked) {
126
m_colorButton1.Color =
m_colors
[(
m_colors
.FirstIndex(
m_colorButton1
.Color) + 1) %
m_colors
.Length];
127
}
128
if
(
m_colorButton2
.IsClicked) {
129
m_colorButton2.Color =
m_colors
[(
m_colors
.FirstIndex(
m_colorButton2
.Color) + 1) %
m_colors
.Length];
130
}
131
if
(
m_colorButton3
.IsClicked) {
132
m_colorButton3.Color =
m_colors
[(
m_colors
.FirstIndex(
m_colorButton3
.Color) + 1) %
m_colors
.Length];
133
}
134
if
(
m_colorButton4
.IsClicked) {
135
m_colorButton4.Color =
m_colors
[(
m_colors
.FirstIndex(
m_colorButton4
.Color) + 1) %
m_colors
.Length];
136
}
137
if
(
Input
.Cancel
138
||
m_cancelButton
.IsClicked) {
139
Dismiss
();
140
}
141
if
(!
MovingBlock
.
IsNullOrStopped
(
m_editingTextData
?.MovingBlock)) {
142
Dismiss
();
143
}
144
}
145
146
public
virtual
void
UpdateControls
() {
147
bool
flag = !
string
.IsNullOrEmpty(
m_urlTextBox
.Text);
148
m_urlButton.IsVisible =
m_linesPage
.IsVisible;
149
m_linesButton.IsVisible = !
m_linesPage
.IsVisible;
150
m_colorButton1.IsEnabled = !flag;
151
m_colorButton2.IsEnabled = !flag;
152
m_colorButton3.IsEnabled = !flag;
153
m_colorButton4.IsEnabled = !flag;
154
m_urlTestButton.IsEnabled = flag;
155
}
156
157
public
void
Dismiss
() {
158
DialogsManager
.
HideDialog
(
this
);
159
}
160
}
161
}
Game.ButtonWidget
定义
ButtonWidget.cs:5
Game.ContainerWidget
定义
ContainerWidget.cs:4
Game.ContainerWidget.Children
readonly WidgetsList Children
定义
ContainerWidget.cs:5
Game.ContentManager
定义
ContentManager.cs:50
Game.ContentManager.Get
static object Get(Type type, string name)
定义
ContentManager.cs:70
Game.Dialog.Dialog
Dialog()
定义
Dialog.cs:5
Game.DialogsManager
定义
DialogsManager.cs:4
Game.DialogsManager.HideDialog
static void HideDialog(Dialog dialog)
定义
DialogsManager.cs:58
Game.EditSignDialog.m_urlTextBox
TextBoxWidget m_urlTextBox
定义
EditSignDialog.cs:30
Game.EditSignDialog.m_subsystemSignBlockBehavior
SubsystemSignBlockBehavior m_subsystemSignBlockBehavior
定义
EditSignDialog.cs:6
Game.EditSignDialog.UpdateControls
virtual void UpdateControls()
定义
EditSignDialog.cs:146
Game.EditSignDialog.m_urlButton
ButtonWidget m_urlButton
定义
EditSignDialog.cs:38
Game.EditSignDialog.m_textBox3
TextBoxWidget m_textBox3
定义
EditSignDialog.cs:18
Game.EditSignDialog.m_okButton
ButtonWidget m_okButton
定义
EditSignDialog.cs:34
Game.EditSignDialog.m_textBox1
TextBoxWidget m_textBox1
定义
EditSignDialog.cs:14
Game.EditSignDialog.m_colorButton4
ButtonWidget m_colorButton4
定义
EditSignDialog.cs:28
Game.EditSignDialog.m_colorButton3
ButtonWidget m_colorButton3
定义
EditSignDialog.cs:26
Game.EditSignDialog.m_urlTestButton
ButtonWidget m_urlTestButton
定义
EditSignDialog.cs:32
Game.EditSignDialog.m_signPoint
Point3 m_signPoint
定义
EditSignDialog.cs:8
Game.EditSignDialog.m_textBox4
TextBoxWidget m_textBox4
定义
EditSignDialog.cs:20
Game.EditSignDialog.m_cancelButton
ButtonWidget m_cancelButton
定义
EditSignDialog.cs:36
Game.EditSignDialog.m_textBox2
TextBoxWidget m_textBox2
定义
EditSignDialog.cs:16
Game.EditSignDialog.Update
override void Update()
定义
EditSignDialog.cs:106
Game.EditSignDialog.m_colors
Color[] m_colors
定义
EditSignDialog.cs:44
Game.EditSignDialog.EditSignDialog
EditSignDialog(SubsystemSignBlockBehavior subsystemSignBlockBehavior, Point3 signPoint)
定义
EditSignDialog.cs:55
Game.EditSignDialog.Dismiss
void Dismiss()
定义
EditSignDialog.cs:157
Game.EditSignDialog.m_linesButton
ButtonWidget m_linesButton
定义
EditSignDialog.cs:40
Game.EditSignDialog.m_colorButton2
ButtonWidget m_colorButton2
定义
EditSignDialog.cs:24
Game.EditSignDialog.m_editingTextData
SubsystemSignBlockBehavior.TextData m_editingTextData
定义
EditSignDialog.cs:42
Game.EditSignDialog.m_linesPage
ContainerWidget m_linesPage
定义
EditSignDialog.cs:10
Game.EditSignDialog.m_colorButton1
ButtonWidget m_colorButton1
定义
EditSignDialog.cs:22
Game.EditSignDialog.m_urlPage
ContainerWidget m_urlPage
定义
EditSignDialog.cs:12
Game.MovingBlock
定义
MovingBlock.cs:7
Game.MovingBlock.IsNullOrStopped
static bool IsNullOrStopped(MovingBlock movingBlock)
定义
MovingBlock.cs:8
Game.SignData
定义
SignData.cs:3
Game.SignData.Url
string Url
定义
SignData.cs:8
Game.SignData.Colors
Color[] Colors
定义
SignData.cs:6
Game.SignData.Lines
string[] Lines
定义
SignData.cs:4
Game.SubsystemSignBlockBehavior.TextData
定义
SubsystemSignBlockBehavior.cs:9
Game.SubsystemSignBlockBehavior
定义
SubsystemSignBlockBehavior.cs:8
Game.TextBoxWidget
定义
TextBoxWidget.cs:22
Game.WebBrowserManager
定义
WebBrowserManager.cs:7
Game.WebBrowserManager.LaunchBrowser
static void LaunchBrowser(string url)
定义
WebBrowserManager.cs:8
Game.Widget.LoadContents
virtual void LoadContents(object eventsTarget, XElement node)
定义
Widget.cs:507
Engine.Input
定义
CursorType.cs:1
Engine
定义
BaseSound.cs:10
Game
定义
ContentFileBridge.cs:4
Engine.Color
定义
Color.cs:2
Engine.Color.Black
static Color Black
定义
Color.cs:7
Engine.Point3
定义
Point3.cs:2
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Dialog
EditSignDialog.cs
制作者
1.16.1