Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
EditCommunityServerInfoDialog.cs
浏览该文件的文档.
1
using
System.Xml.Linq;
2
3
namespace
Game
{
4
public
class
EditCommunityServerInfoDialog
:
Dialog
{
5
public
SelectCommunityServerDialog
m_parentDialog
;
6
public
CommunityServerManager.Info
m_info
;
7
public
bool
m_changed
;
8
public
bool
m_toAdd
;
//false: edit, true: add
9
10
public
CheckboxWidget
m_originalCheckbox
;
11
public
CheckboxWidget
m_chineseCheckbox
;
12
public
TextBoxWidget
m_nameTextBox
;
13
public
TextBoxWidget
m_apiUrlTextBox
;
14
public
TextBoxWidget
m_websiteUrlTextBox
;
15
public
ButtonWidget
m_okButton
;
16
public
ButtonWidget
m_removeButton
;
17
public
ButtonWidget
m_cancelButton
;
18
19
public
EditCommunityServerInfoDialog
(
SelectCommunityServerDialog
parentDialog,
CommunityServerManager
.
Info
info =
null
) {
20
m_parentDialog
= parentDialog;
21
if
(info ==
null
) {
22
m_info
=
CommunityServerManager
.
DefaultOriginalInfo
.
Clone
();
23
m_changed
=
true
;
24
m_toAdd
=
true
;
25
}
26
else
if
(info ==
CommunityServerManager
.
DefaultOriginalInfo
|| info ==
CommunityServerManager
.
DefaultChineseInfo
) {
27
m_info
= info.Clone();
28
m_changed
=
true
;
29
m_toAdd
=
true
;
30
}
31
else
{
32
m_info
= info;
33
m_changed
=
false
;
34
m_toAdd
=
false
;
35
}
36
if
(
m_info
.Name ==
string
.Empty) {
37
switch
(
m_info
.Type) {
38
case
CommunityServerManager
.
Type
.Original:
39
m_info.Name =
40
$
"{LanguageControl.Get("
ContentScreen
", "
CommunityType
", "
OriginalCommunity
")} ({LanguageControl.Get("
ContentWidgets
", "
ViewGameLogDialog
", "
1
")})"
;
41
break
;
42
case
CommunityServerManager
.
Type
.Chinese:
43
m_info.Name =
44
$
"{LanguageControl.Get("
ContentScreen
", "
CommunityType
", "
ChineseCommunity
")} ({LanguageControl.Get("
ContentWidgets
", "
ViewGameLogDialog
", "
1
")})"
;
45
break
;
46
}
47
}
48
XElement node =
ContentManager
.
Get
<XElement>(
"Dialogs/EditCommunityServerInfoDialog"
);
49
LoadContents
(
this
, node);
50
m_originalCheckbox
=
Children
.Find<
CheckboxWidget
>(
"EditCommunityServerInfoDialog.OriginalCheckbox"
);
51
m_chineseCheckbox
=
Children
.Find<
CheckboxWidget
>(
"EditCommunityServerInfoDialog.ChineseCheckbox"
);
52
m_nameTextBox
=
Children
.Find<
TextBoxWidget
>(
"EditCommunityServerInfoDialog.Name"
);
53
m_apiUrlTextBox
=
Children
.Find<
TextBoxWidget
>(
"EditCommunityServerInfoDialog.ApiUrl"
);
54
m_websiteUrlTextBox
=
Children
.Find<
TextBoxWidget
>(
"EditCommunityServerInfoDialog.WebsiteUrl"
);
55
m_okButton
=
Children
.Find<
ButtonWidget
>(
"EditCommunityServerInfoDialog.Ok"
);
56
m_removeButton
=
Children
.Find<
ButtonWidget
>(
"EditCommunityServerInfoDialog.Remove"
);
57
m_cancelButton
=
Children
.Find<
ButtonWidget
>(
"EditCommunityServerInfoDialog.Cancel"
);
58
if
(
m_info
.Type ==
CommunityServerManager
.
Type
.Chinese) {
59
m_chineseCheckbox.IsChecked =
true
;
60
}
else
{
61
m_originalCheckbox.IsChecked =
true
;
62
}
63
m_nameTextBox.Text =
m_info
.Name;
64
m_apiUrlTextBox.Text =
m_info
.ApiUrl;
65
m_websiteUrlTextBox.Text =
m_info
.WebsiteUrl;
66
}
67
68
public
override
void
Update
() {
69
if
(
m_originalCheckbox
.IsClicked && !
m_originalCheckbox
.IsChecked) {
70
m_originalCheckbox.IsChecked =
true
;
71
m_chineseCheckbox.IsChecked =
false
;
72
m_changed
=
true
;
73
AudioManager
.
PlaySound
(
"Audio/UI/ButtonClick"
, 1f, 0f, 0f);
74
}
75
if
(
m_chineseCheckbox
.IsClicked && !
m_chineseCheckbox
.IsChecked) {
76
m_originalCheckbox.IsChecked =
false
;
77
m_chineseCheckbox.IsChecked =
true
;
78
m_changed
=
true
;
79
AudioManager
.
PlaySound
(
"Audio/UI/ButtonClick"
, 1f, 0f, 0f);
80
}
81
if
(
m_nameTextBox
.Text !=
m_info
.Name) {
82
m_changed
=
true
;
83
}
84
if
(
m_apiUrlTextBox
.Text !=
m_info
.ApiUrl) {
85
m_changed
=
true
;
86
}
87
if
(
m_websiteUrlTextBox
.Text !=
m_info
.WebsiteUrl) {
88
m_changed
=
true
;
89
}
90
m_removeButton.IsEnabled = !
m_changed
;
91
if
(
m_okButton
.IsClicked) {
92
if
(
m_changed
) {
93
if
(
m_toAdd
) {
94
m_parentDialog
.AddServer(
m_info
);
95
}
96
else
{
97
m_info.Type = m_chineseCheckbox.IsChecked ?
CommunityServerManager.Type.Chinese
:
CommunityServerManager
.
Type
.Original;
98
m_info.Name =
m_nameTextBox
.Text;
99
m_info.ApiUrl =
m_apiUrlTextBox
.Text;
100
m_info.WebsiteUrl =
m_websiteUrlTextBox
.Text;
101
m_parentDialog
.UpdateServerList();
102
m_parentDialog.m_listPanel.SelectedItem =
m_info
;
103
}
104
}
105
DialogsManager
.
HideDialog
(
this
);
106
}
107
if
(
m_removeButton
.IsClicked && !
m_changed
) {
108
m_parentDialog
.RemoveServer(
m_info
);
109
DialogsManager
.
HideDialog
(
this
);
110
}
111
if
(Input.Back
112
|| Input.Cancel
113
|| (Input.Tap.HasValue && !
HitTest
(Input.Tap.Value))
114
||
m_cancelButton
.IsClicked) {
115
DialogsManager
.
HideDialog
(
this
);
116
}
117
}
118
}
119
}
Game.AudioManager
定义
AudioManager.cs:5
Game.AudioManager.PlaySound
static void PlaySound(string name, float volume, float pitch, float pan)
定义
AudioManager.cs:8
Game.ButtonWidget
定义
ButtonWidget.cs:5
Game.CheckboxWidget
定义
CheckboxWidget.cs:6
Game.CommunityServerManager.Info
定义
CommunityServerManager.cs:8
Game.CommunityServerManager.Info.Clone
Info Clone()
定义
CommunityServerManager.cs:43
Game.CommunityServerManager
定义
CommunityServerManager.cs:2
Game.CommunityServerManager.DefaultChineseInfo
static Info DefaultChineseInfo
定义
CommunityServerManager.cs:50
Game.CommunityServerManager.Type
Type
定义
CommunityServerManager.cs:3
Game.CommunityServerManager.Type.Chinese
@ Chinese
定义
CommunityServerManager.cs:5
Game.CommunityServerManager.DefaultOriginalInfo
static Info DefaultOriginalInfo
定义
CommunityServerManager.cs:49
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.ContentScreen
定义
ContentScreen.cs:5
Game.Dialog.Dialog
Dialog()
定义
Dialog.cs:5
Game.DialogsManager
定义
DialogsManager.cs:4
Game.DialogsManager.HideDialog
static void HideDialog(Dialog dialog)
定义
DialogsManager.cs:58
Game.EditCommunityServerInfoDialog.m_apiUrlTextBox
TextBoxWidget m_apiUrlTextBox
定义
EditCommunityServerInfoDialog.cs:13
Game.EditCommunityServerInfoDialog.m_originalCheckbox
CheckboxWidget m_originalCheckbox
定义
EditCommunityServerInfoDialog.cs:10
Game.EditCommunityServerInfoDialog.m_okButton
ButtonWidget m_okButton
定义
EditCommunityServerInfoDialog.cs:15
Game.EditCommunityServerInfoDialog.EditCommunityServerInfoDialog
EditCommunityServerInfoDialog(SelectCommunityServerDialog parentDialog, CommunityServerManager.Info info=null)
定义
EditCommunityServerInfoDialog.cs:19
Game.EditCommunityServerInfoDialog.m_info
CommunityServerManager.Info m_info
定义
EditCommunityServerInfoDialog.cs:6
Game.EditCommunityServerInfoDialog.m_nameTextBox
TextBoxWidget m_nameTextBox
定义
EditCommunityServerInfoDialog.cs:12
Game.EditCommunityServerInfoDialog.m_websiteUrlTextBox
TextBoxWidget m_websiteUrlTextBox
定义
EditCommunityServerInfoDialog.cs:14
Game.EditCommunityServerInfoDialog.m_changed
bool m_changed
定义
EditCommunityServerInfoDialog.cs:7
Game.EditCommunityServerInfoDialog.Update
override void Update()
定义
EditCommunityServerInfoDialog.cs:68
Game.EditCommunityServerInfoDialog.m_toAdd
bool m_toAdd
定义
EditCommunityServerInfoDialog.cs:8
Game.EditCommunityServerInfoDialog.m_cancelButton
ButtonWidget m_cancelButton
定义
EditCommunityServerInfoDialog.cs:17
Game.EditCommunityServerInfoDialog.m_parentDialog
SelectCommunityServerDialog m_parentDialog
定义
EditCommunityServerInfoDialog.cs:5
Game.EditCommunityServerInfoDialog.m_chineseCheckbox
CheckboxWidget m_chineseCheckbox
定义
EditCommunityServerInfoDialog.cs:11
Game.EditCommunityServerInfoDialog.m_removeButton
ButtonWidget m_removeButton
定义
EditCommunityServerInfoDialog.cs:16
Game.SelectCommunityServerDialog
定义
SelectCommunityServerDialog.cs:5
Game.TextBoxWidget
定义
TextBoxWidget.cs:22
Game.ViewGameLogDialog
定义
ViewGameLogDialog.cs:6
Game.Widget.HitTest
virtual bool HitTest(Vector2 point)
定义
Widget.cs:686
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
EditCommunityServerInfoDialog.cs
制作者
1.16.1