Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
SelectCommunityServerDialog.cs
浏览该文件的文档.
1
using
Engine
;
2
using
System.Xml.Linq;
3
4
namespace
Game
{
5
public
class
SelectCommunityServerDialog
:
Dialog
{
6
public
ListPanelWidget
m_listPanel
;
7
public
ButtonWidget
m_openButton
;
8
public
ButtonWidget
m_addButton
;
9
public
ButtonWidget
m_editButton
;
10
11
public
SelectCommunityServerDialog
() {
12
XElement node =
ContentManager
.
Get
<XElement>(
"Dialogs/SelectCommunityServerDialog"
);
13
LoadContents
(
this
, node);
14
m_listPanel
=
Children
.Find<
ListPanelWidget
>(
"SelectCommunityServerDialog.ListPanel"
);
15
m_openButton
=
Children
.Find<
ButtonWidget
>(
"SelectCommunityServerDialog.Open"
);
16
m_addButton
=
Children
.Find<
ButtonWidget
>(
"SelectCommunityServerDialog.Add"
);
17
m_editButton
=
Children
.Find<
ButtonWidget
>(
"SelectCommunityServerDialog.Edit"
);
18
m_listPanel.ItemWidgetFactory = o => {
19
if
(o is not
CommunityServerManager
.
Info
info) {
20
return
null
;
21
}
22
LabelWidget
labelWidget =
new
() {
23
HorizontalAlignment
=
WidgetAlignment
.Center,
24
VerticalAlignment
=
WidgetAlignment.Center
25
};
26
if
(info ==
CommunityServerManager
.
DefaultOriginalInfo
) {
27
labelWidget.Text =
LanguageControl
.
Get
(
"ContentScreen"
,
"CommunityType"
,
"OriginalCommunity"
);
28
}
29
else
if
(info ==
CommunityServerManager
.
DefaultChineseInfo
) {
30
labelWidget.Text =
LanguageControl
.
Get
(
"ContentScreen"
,
"CommunityType"
,
"ChineseCommunity"
);
31
}
32
else
{
33
labelWidget.Text = info.Name;
34
}
35
return
labelWidget;
36
};
37
m_listPanel.ItemClicked = o => {
38
if
(o ==
m_listPanel
.SelectedItem
39
&& o is
CommunityServerManager
.
Info
info) {
40
OpenServerScreen
(info);
41
DialogsManager
.
HideDialog
(
this
);
42
}
43
};
44
UpdateServerList
();
45
}
46
47
public
void
UpdateServerList
() {
48
m_listPanel
.ClearItems();
49
m_listPanel
.AddItems(
CommunityServerManager
.
GetAllInfos
());
50
m_listPanel.ScrollPosition = 0f;
51
}
52
53
public
void
AddServer
(
CommunityServerManager
.
Info
info) {
54
CommunityServerManager
.
UserInfos
.Add(info);
55
m_listPanel
.AddItem(info);
56
m_listPanel.SelectedItem = info;
57
}
58
59
public
void
RemoveServer
(
CommunityServerManager
.
Info
info) {
60
CommunityServerManager
.
UserInfos
.Remove(info);
61
m_listPanel
.RemoveItem(info);
62
}
63
64
public
void
OpenServerScreen
(
CommunityServerManager
.
Info
info) {
65
if
(info ==
null
) {
66
return
;
67
}
68
switch
(info.Type) {
69
case
CommunityServerManager
.
Type
.Original:
70
CommunityServerManager
.
ChangeOriginalInfo
(info);
71
ScreensManager
.
SwitchScreen
(
"OriginalCommunityContent"
);
72
break
;
73
case
CommunityServerManager
.
Type
.Chinese:
74
CommunityServerManager
.
ChangeChineseInfo
(info);
75
ScreensManager
.
SwitchScreen
(
"CommunityContent"
);
76
break
;
77
}
78
}
79
80
public
override
void
Update
() {
81
if
(
m_listPanel
.SelectedItem is
CommunityServerManager
.
Info
selected) {
82
if
(
m_openButton
.IsClicked) {
83
OpenServerScreen
(selected);
84
DialogsManager
.
HideDialog
(
this
);
85
}
86
if
(
m_editButton
.IsClicked) {
87
DialogsManager
.
ShowDialog
(
null
,
new
EditCommunityServerInfoDialog
(
this
, selected));
88
}
89
}
90
if
(
m_addButton
.IsClicked) {
91
DialogsManager
.
ShowDialog
(
null
,
new
EditCommunityServerInfoDialog
(
this
));
92
}
93
if
(
Input
.Back
94
||
Input
.Cancel
95
|| (
Input
.Tap.HasValue && !
HitTest
(
Input
.Tap.Value))) {
96
DialogsManager
.
HideDialog
(
this
);
97
}
98
}
99
}
100
}
Game.ButtonWidget
定义
ButtonWidget.cs:5
Game.CommunityServerManager.Info
定义
CommunityServerManager.cs:8
Game.CommunityServerManager
定义
CommunityServerManager.cs:2
Game.CommunityServerManager.GetAllInfos
static IEnumerable< Info > GetAllInfos()
定义
CommunityServerManager.cs:57
Game.CommunityServerManager.DefaultChineseInfo
static Info DefaultChineseInfo
定义
CommunityServerManager.cs:50
Game.CommunityServerManager.Type
Type
定义
CommunityServerManager.cs:3
Game.CommunityServerManager.ChangeChineseInfo
static void ChangeChineseInfo(Info info)
定义
CommunityServerManager.cs:83
Game.CommunityServerManager.ChangeOriginalInfo
static void ChangeOriginalInfo(Info info)
定义
CommunityServerManager.cs:75
Game.CommunityServerManager.DefaultOriginalInfo
static Info DefaultOriginalInfo
定义
CommunityServerManager.cs:49
Game.CommunityServerManager.UserInfos
static List< Info > UserInfos
定义
CommunityServerManager.cs:53
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.EditCommunityServerInfoDialog
定义
EditCommunityServerInfoDialog.cs:4
Game.LabelWidget
定义
LabelWidget.cs:4
Game.LanguageControl
定义
LanguageControl.cs:8
Game.LanguageControl.Get
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
定义
LanguageControl.cs:247
Game.ListPanelWidget
定义
ListPanelWidget.cs:5
Game.ScreensManager
定义
ScreensManager.cs:5
Game.ScreensManager.SwitchScreen
static void SwitchScreen(string name, params object[] parameters)
定义
ScreensManager.cs:65
Game.SelectCommunityServerDialog.m_editButton
ButtonWidget m_editButton
定义
SelectCommunityServerDialog.cs:9
Game.SelectCommunityServerDialog.m_openButton
ButtonWidget m_openButton
定义
SelectCommunityServerDialog.cs:7
Game.SelectCommunityServerDialog.OpenServerScreen
void OpenServerScreen(CommunityServerManager.Info info)
定义
SelectCommunityServerDialog.cs:64
Game.SelectCommunityServerDialog.SelectCommunityServerDialog
SelectCommunityServerDialog()
定义
SelectCommunityServerDialog.cs:11
Game.SelectCommunityServerDialog.Update
override void Update()
定义
SelectCommunityServerDialog.cs:80
Game.SelectCommunityServerDialog.RemoveServer
void RemoveServer(CommunityServerManager.Info info)
定义
SelectCommunityServerDialog.cs:59
Game.SelectCommunityServerDialog.AddServer
void AddServer(CommunityServerManager.Info info)
定义
SelectCommunityServerDialog.cs:53
Game.SelectCommunityServerDialog.UpdateServerList
void UpdateServerList()
定义
SelectCommunityServerDialog.cs:47
Game.SelectCommunityServerDialog.m_listPanel
ListPanelWidget m_listPanel
定义
SelectCommunityServerDialog.cs:6
Game.SelectCommunityServerDialog.m_addButton
ButtonWidget m_addButton
定义
SelectCommunityServerDialog.cs:8
Game.Widget.HitTest
virtual bool HitTest(Vector2 point)
定义
Widget.cs:686
Game.Widget.VerticalAlignment
virtual WidgetAlignment VerticalAlignment
定义
Widget.cs:445
Game.Widget.HorizontalAlignment
virtual WidgetAlignment HorizontalAlignment
定义
Widget.cs:443
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
Game.WidgetAlignment
WidgetAlignment
定义
WidgetAlignment.cs:2
Game.WidgetAlignment.Center
@ Center
定义
WidgetAlignment.cs:4
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Dialog
SelectCommunityServerDialog.cs
制作者
1.16.1