Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
CancellableBusyDialog.cs
浏览该文件的文档.
1
using
System.Xml.Linq;
2
using
Engine
;
3
4
namespace
Game
{
5
public
class
CancellableBusyDialog
:
Dialog
{
6
public
LabelWidget
m_largeLabelWidget
;
7
8
public
LabelWidget
m_smallLabelWidget
;
9
10
public
ButtonWidget
m_cancelButtonWidget
;
11
12
public
ButtonWidget
m_hideButtonWidget
;
13
14
public
bool
m_autoHideOnCancel
;
15
16
public
CancellableProgress
Progress
{
get
;
set
; }
17
18
public
string
LargeMessage
{
19
get
=>
m_largeLabelWidget
.Text;
20
set
{
21
m_largeLabelWidget.Text = value ??
string
.Empty;
22
m_largeLabelWidget.IsVisible = !
string
.IsNullOrEmpty(value);
23
}
24
}
25
26
public
string
SmallMessage
{
27
get
=>
m_smallLabelWidget
.Text;
28
set
=> m_smallLabelWidget.Text = value ??
string
.Empty;
29
}
30
31
public
bool
IsCancelButtonEnabled
{
32
get
=>
m_cancelButtonWidget
.IsEnabled;
33
set
=> m_cancelButtonWidget.IsEnabled = value;
34
}
35
36
public
bool
ShowProgressMessage
{
get
;
set
; }
37
38
public
CancellableBusyDialog
(
string
largeMessage,
bool
autoHideOnCancel) {
39
XElement node =
ContentManager
.
Get
<XElement>(
"Dialogs/CancellableBusyDialog"
);
40
LoadContents
(
this
, node);
41
m_largeLabelWidget
=
Children
.Find<
LabelWidget
>(
"CancellableBusyDialog.LargeLabel"
);
42
m_smallLabelWidget
=
Children
.Find<
LabelWidget
>(
"CancellableBusyDialog.SmallLabel"
);
43
m_cancelButtonWidget
=
Children
.Find<
ButtonWidget
>(
"CancellableBusyDialog.CancelButton"
);
44
m_hideButtonWidget
=
Children
.Find<
ButtonWidget
>(
"CancellableBusyDialog.HideButton"
);
45
m_hideButtonWidget.IsVisible =
false
;
46
Progress
=
new
CancellableProgress
();
47
m_autoHideOnCancel
= autoHideOnCancel;
48
LargeMessage
= largeMessage;
49
ShowProgressMessage
=
true
;
50
}
51
52
public
CancellableBusyDialog
(
string
largeMessage,
string
hideButtonName,
bool
autoHideOnCancel) {
53
XElement node =
ContentManager
.
Get
<XElement>(
"Dialogs/CancellableBusyDialog"
);
54
LoadContents
(
this
, node);
55
m_largeLabelWidget
=
Children
.Find<
LabelWidget
>(
"CancellableBusyDialog.LargeLabel"
);
56
m_smallLabelWidget
=
Children
.Find<
LabelWidget
>(
"CancellableBusyDialog.SmallLabel"
);
57
m_cancelButtonWidget
=
Children
.Find<
ButtonWidget
>(
"CancellableBusyDialog.CancelButton"
);
58
m_hideButtonWidget
=
Children
.Find<
ButtonWidget
>(
"CancellableBusyDialog.HideButton"
);
59
m_hideButtonWidget.IsVisible =
true
;
60
m_hideButtonWidget.Text = hideButtonName;
61
m_cancelButtonWidget.Size =
new
Vector2
(160, 60);
62
m_hideButtonWidget.Size =
new
Vector2
(160, 60);
63
Progress
=
new
CancellableProgress
();
64
m_autoHideOnCancel
= autoHideOnCancel;
65
LargeMessage
= largeMessage;
66
ShowProgressMessage
=
true
;
67
}
68
69
public
override
void
Update
() {
70
if
(
ShowProgressMessage
) {
71
SmallMessage
=
Progress.Completed
> 0f &&
Progress.Total
> 0f ? $
"{Progress.Completed / Progress.Total * 100f:0}%"
:
string
.Empty;
72
}
73
if
(
m_cancelButtonWidget
.IsClicked) {
74
Progress
.Cancel();
75
if
(
m_autoHideOnCancel
) {
76
DialogsManager
.
HideDialog
(
this
);
77
}
78
}
79
if
(
m_hideButtonWidget
.IsClicked) {
80
DialogsManager
.
HideDialog
(
this
);
81
}
82
if
(
Input
.Cancel) {
83
Input
.Clear();
84
}
85
}
86
}
87
}
Game.ButtonWidget
定义
ButtonWidget.cs:5
Game.CancellableBusyDialog.m_cancelButtonWidget
ButtonWidget m_cancelButtonWidget
定义
CancellableBusyDialog.cs:10
Game.CancellableBusyDialog.m_autoHideOnCancel
bool m_autoHideOnCancel
定义
CancellableBusyDialog.cs:14
Game.CancellableBusyDialog.ShowProgressMessage
bool ShowProgressMessage
定义
CancellableBusyDialog.cs:36
Game.CancellableBusyDialog.m_hideButtonWidget
ButtonWidget m_hideButtonWidget
定义
CancellableBusyDialog.cs:12
Game.CancellableBusyDialog.m_largeLabelWidget
LabelWidget m_largeLabelWidget
定义
CancellableBusyDialog.cs:6
Game.CancellableBusyDialog.m_smallLabelWidget
LabelWidget m_smallLabelWidget
定义
CancellableBusyDialog.cs:8
Game.CancellableBusyDialog.CancellableBusyDialog
CancellableBusyDialog(string largeMessage, string hideButtonName, bool autoHideOnCancel)
定义
CancellableBusyDialog.cs:52
Game.CancellableBusyDialog.LargeMessage
string LargeMessage
定义
CancellableBusyDialog.cs:18
Game.CancellableBusyDialog.Progress
CancellableProgress Progress
定义
CancellableBusyDialog.cs:16
Game.CancellableBusyDialog.Update
override void Update()
定义
CancellableBusyDialog.cs:69
Game.CancellableBusyDialog.IsCancelButtonEnabled
bool IsCancelButtonEnabled
定义
CancellableBusyDialog.cs:31
Game.CancellableBusyDialog.SmallMessage
string SmallMessage
定义
CancellableBusyDialog.cs:26
Game.CancellableBusyDialog.CancellableBusyDialog
CancellableBusyDialog(string largeMessage, bool autoHideOnCancel)
定义
CancellableBusyDialog.cs:38
Game.CancellableProgress
定义
CancellableProgress.cs:2
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.LabelWidget
定义
LabelWidget.cs:4
Game.Progress.Total
float Total
定义
Progress.cs:5
Game.Progress.Completed
float Completed
定义
Progress.cs:3
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.Vector2
定义
Vector2.cs:2
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Dialog
CancellableBusyDialog.cs
制作者
1.16.1