Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
RunJsDialog.cs
浏览该文件的文档.
1
using
System.Diagnostics;
2
using
System.Xml.Linq;
3
4
namespace
Game
{
5
public
class
RunJsDialog
:
Dialog
{
6
public
readonly
TextBoxWidget
m_inputBox
;
7
public
readonly
LabelWidget
m_outputBox
;
8
9
public
readonly
LabelWidget
m_timeCostedLabel
;
10
11
public
readonly
ButtonWidget
m_runButton
;
12
public
readonly
ButtonWidget
m_copyOutputButton
;
13
public
readonly
ButtonWidget
m_closeButton
;
14
public
readonly
ButtonWidget
m_serverButton
;
15
16
public
RunJsDialog
() {
17
XElement node =
ContentManager
.
Get
<XElement>(
"Dialogs/RunJsDialog"
);
18
LoadContents
(
this
, node);
19
m_inputBox
=
Children
.Find<
TextBoxWidget
>(
"RunJsDialog.Input"
);
20
m_outputBox
=
Children
.Find<
LabelWidget
>(
"RunJsDialog.Output"
);
21
m_timeCostedLabel
=
Children
.Find<
LabelWidget
>(
"RunJsDialog.TimeCosted"
);
22
m_runButton
=
Children
.Find<
ButtonWidget
>(
"RunJsDialog.RunButton"
);
23
m_copyOutputButton
=
Children
.Find<
ButtonWidget
>(
"RunJsDialog.CopyOutputButton"
);
24
m_closeButton
=
Children
.Find<
ButtonWidget
>(
"RunJsDialog.CloseButton"
);
25
m_serverButton
=
Children
.Find<
ButtonWidget
>(
"RunJsDialog.ServerButton"
);
26
m_inputBox.HasFocus =
true
;
27
m_inputBox.Enter += delegate {
Dismiss
(
true
); };
28
m_inputBox.Escape += delegate {
Dismiss
(
false
); };
29
}
30
31
public
override
void
Update
() {
32
if
(Input.Back
33
|| Input.Cancel) {
34
Dismiss
(
false
);
35
}
36
else
if
(Input.Ok) {
37
Dismiss
(
true
);
38
}
39
else
if
(
m_runButton
.IsClicked) {
40
Dismiss
(
true
);
41
}
42
else
if
(
m_copyOutputButton
.IsClicked) {
43
ClipboardManager.ClipboardString
=
m_outputBox
.Text;
44
}
45
else
if
(
m_closeButton
.IsClicked) {
46
Dismiss
(
false
);
47
}
48
else
if
(
m_serverButton
.IsClicked) {
49
#if !IOS && !BROWSER
50
DialogsManager
.
ShowDialog
(
ParentWidget
,
new
RemoteControlDialog
());
51
#endif
52
}
53
}
54
55
public
void
Dismiss
(
bool
flag) {
56
if
(flag) {
57
#if !IOS && !BROWSER
58
Stopwatch stopwatch = Stopwatch.StartNew();
59
string
result =
JsInterface
.
Evaluate
(
m_inputBox
.Text);
60
stopwatch.Stop();
61
TimeSpan timeCosted = stopwatch.Elapsed;
62
m_outputBox.Text = result;
63
m_timeCostedLabel.Text = $
"{Math.Floor(timeCosted.TotalSeconds)}s {timeCosted.Milliseconds}ms"
;
64
#endif
65
}
66
else
{
67
DialogsManager
.
HideDialog
(
this
);
68
}
69
}
70
}
71
}
Game.ButtonWidget
定义
ButtonWidget.cs:5
Game.ClipboardManager.ClipboardString
static string ClipboardString
定义
ClipboardManager.cs:33
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.DialogsManager.ShowDialog
static void ShowDialog(ContainerWidget parentWidget, Dialog dialog)
定义
DialogsManager.cs:35
Game.JsInterface
定义
JsInterface.cs:15
Game.JsInterface.Evaluate
static string Evaluate(string str)
定义
JsInterface.cs:122
Game.LabelWidget
定义
LabelWidget.cs:4
Game.RemoteControlDialog
定义
RemoteControlDialog.cs:6
Game.RunJsDialog.m_runButton
readonly ButtonWidget m_runButton
定义
RunJsDialog.cs:11
Game.RunJsDialog.m_copyOutputButton
readonly ButtonWidget m_copyOutputButton
定义
RunJsDialog.cs:12
Game.RunJsDialog.Update
override void Update()
定义
RunJsDialog.cs:31
Game.RunJsDialog.m_inputBox
readonly TextBoxWidget m_inputBox
定义
RunJsDialog.cs:6
Game.RunJsDialog.m_outputBox
readonly LabelWidget m_outputBox
定义
RunJsDialog.cs:7
Game.RunJsDialog.m_timeCostedLabel
readonly LabelWidget m_timeCostedLabel
定义
RunJsDialog.cs:9
Game.RunJsDialog.m_serverButton
readonly ButtonWidget m_serverButton
定义
RunJsDialog.cs:14
Game.RunJsDialog.Dismiss
void Dismiss(bool flag)
定义
RunJsDialog.cs:55
Game.RunJsDialog.m_closeButton
readonly ButtonWidget m_closeButton
定义
RunJsDialog.cs:13
Game.RunJsDialog.RunJsDialog
RunJsDialog()
定义
RunJsDialog.cs:16
Game.TextBoxWidget
定义
TextBoxWidget.cs:22
Game.Widget.ParentWidget
ContainerWidget ParentWidget
定义
Widget.cs:468
Game.Widget.LoadContents
virtual void LoadContents(object eventsTarget, XElement node)
定义
Widget.cs:507
Game
定义
ContentFileBridge.cs:4
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Dialog
RunJsDialog.cs
制作者
1.16.1