Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
PublishCommunityLinkDialog.cs
浏览该文件的文档.
1
using
System.Xml.Linq;
2
using
Engine
;
3
4
namespace
Game
{
5
public
class
PublishCommunityLinkDialog
:
Dialog
{
6
public
TextBoxWidget
m_linkTextBoxWidget
;
7
8
public
TextBoxWidget
m_nameTextBoxWidget
;
9
10
public
RectangleWidget
m_typeIconWidget
;
11
12
public
LabelWidget
m_typeLabelWidget
;
13
14
public
ButtonWidget
m_changeTypeButtonWidget
;
15
16
public
ButtonWidget
m_publishButtonWidget
;
17
18
public
ButtonWidget
m_cancelButtonWidget
;
19
20
public
string
m_user
;
21
22
public
ExternalContentType
m_type
=
ExternalContentType
.BlocksTexture;
23
24
public
PublishCommunityLinkDialog
(
string
user,
string
address,
string
name) {
25
XElement node =
ContentManager
.
Get
<XElement>(
"Dialogs/PublishCommunityLinkDialog"
);
26
LoadContents
(
this
, node);
27
m_linkTextBoxWidget
=
Children
.Find<
TextBoxWidget
>(
"PublishCommunityLinkDialog.Link"
);
28
m_nameTextBoxWidget
=
Children
.Find<
TextBoxWidget
>(
"PublishCommunityLinkDialog.Name"
);
29
m_typeIconWidget
=
Children
.Find<
RectangleWidget
>(
"PublishCommunityLinkDialog.TypeIcon"
);
30
m_typeLabelWidget
=
Children
.Find<
LabelWidget
>(
"PublishCommunityLinkDialog.Type"
);
31
m_changeTypeButtonWidget
=
Children
.Find<
ButtonWidget
>(
"PublishCommunityLinkDialog.ChangeType"
);
32
m_publishButtonWidget
=
Children
.Find<
ButtonWidget
>(
"PublishCommunityLinkDialog.Publish"
);
33
m_cancelButtonWidget
=
Children
.Find<
ButtonWidget
>(
"PublishCommunityLinkDialog.Cancel"
);
34
m_linkTextBoxWidget.TextChanged += delegate {
35
m_nameTextBoxWidget.Text =
Storage
.
GetFileNameWithoutExtension
(
GetFilenameFromLink
(
m_linkTextBoxWidget
.Text));
36
};
37
if
(!
string
.IsNullOrEmpty(address)) {
38
m_linkTextBoxWidget.Text = address;
39
}
40
if
(!
string
.IsNullOrEmpty(name)) {
41
m_nameTextBoxWidget.Text = name;
42
}
43
m_user
= user;
44
}
45
46
public
override
void
Update
() {
47
string
text =
m_linkTextBoxWidget
.Text.Trim();
48
string
text2 =
m_nameTextBoxWidget
.Text.Trim();
49
m_typeLabelWidget.Text =
ExternalContentManager
.
GetEntryTypeDescription
(
m_type
);
50
m_typeIconWidget.Subtexture =
ExternalContentManager
.
GetEntryTypeIcon
(
m_type
);
51
m_publishButtonWidget.IsEnabled = text.Length > 0 && text2.Length > 0;
52
if
(
m_changeTypeButtonWidget
.IsClicked) {
53
DialogsManager
.
ShowDialog
(
54
ParentWidget
,
55
new
SelectExternalContentTypeDialog
(
"Select Content Type"
, delegate(
ExternalContentType
item) {
m_type
= item; })
56
);
57
}
58
else
if
(
Input
.Cancel
59
||
m_cancelButtonWidget
.IsClicked) {
60
DialogsManager
.
HideDialog
(
this
);
61
}
62
else
if
(
m_publishButtonWidget
.IsClicked) {
63
CancellableBusyDialog
busyDialog =
new
(
"Publishing"
,
false
);
64
DialogsManager
.
ShowDialog
(
ParentWidget
, busyDialog);
65
CommunityContentManager
.
Publish
(
66
text,
67
text2,
68
m_type
,
69
m_user
,
70
busyDialog.
Progress
,
71
delegate {
72
DialogsManager.HideDialog(busyDialog);
73
DialogsManager.ShowDialog(
74
ParentWidget,
75
new MessageDialog(
76
"Link Published Successfully"
,
77
"It should start appearing in the listings after it is moderated. Please keep the file accessible through this link, so that other community members can download it."
,
78
"OK"
,
79
null,
80
delegate { DialogsManager.HideDialog(this); }
81
)
82
);
83
},
84
delegate(Exception error) {
85
DialogsManager
.
HideDialog
(busyDialog);
86
DialogsManager
.
ShowDialog
(
ParentWidget
,
new
MessageDialog
(
"Error"
, error.Message,
"OK"
,
null
,
null
));
87
}
88
);
89
}
90
}
91
92
public
static
string
GetFilenameFromLink
(
string
address) {
93
try
{
94
string
text = address;
95
int
num = text.IndexOf(
'&'
);
96
if
(num > 0) {
97
text = text.Remove(num);
98
}
99
int
num2 = text.IndexOf(
'?'
);
100
if
(num2 > 0) {
101
text = text.Remove(num2);
102
}
103
text =
Uri
.UnescapeDataString(text);
104
return
Storage
.
GetFileName
(text);
105
}
106
catch
(Exception) {
107
return
string
.Empty;
108
}
109
}
110
}
111
}
Uri
Android.Net.Uri Uri
定义
ImportExternalContentActivity.cs:13
Engine.Storage
定义
Storage.cs:24
Engine.Storage.GetFileNameWithoutExtension
static string GetFileNameWithoutExtension(string path)
定义
Storage.cs:203
Engine.Storage.GetFileName
static string GetFileName(string path)
定义
Storage.cs:198
Game.ButtonWidget
定义
ButtonWidget.cs:5
Game.CancellableBusyDialog
定义
CancellableBusyDialog.cs:5
Game.CancellableBusyDialog.Progress
CancellableProgress Progress
定义
CancellableBusyDialog.cs:16
Game.CommunityContentManager
定义
CommunityContentManager.cs:11
Game.CommunityContentManager.Publish
static void Publish(string address, string name, ExternalContentType type, string userId, CancellableProgress progress, Action success, Action< Exception > failure)
定义
CommunityContentManager.cs:191
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.ExternalContentManager
定义
ExternalContentManager.cs:5
Game.ExternalContentManager.GetEntryTypeIcon
static Subtexture GetEntryTypeIcon(ExternalContentType type)
定义
ExternalContentManager.cs:56
Game.ExternalContentManager.GetEntryTypeDescription
static string GetEntryTypeDescription(ExternalContentType type)
定义
ExternalContentManager.cs:68
Game.LabelWidget
定义
LabelWidget.cs:4
Game.MessageDialog
定义
MessageDialog.cs:5
Game.PublishCommunityLinkDialog.m_publishButtonWidget
ButtonWidget m_publishButtonWidget
定义
PublishCommunityLinkDialog.cs:16
Game.PublishCommunityLinkDialog.m_user
string m_user
定义
PublishCommunityLinkDialog.cs:20
Game.PublishCommunityLinkDialog.GetFilenameFromLink
static string GetFilenameFromLink(string address)
定义
PublishCommunityLinkDialog.cs:92
Game.PublishCommunityLinkDialog.m_linkTextBoxWidget
TextBoxWidget m_linkTextBoxWidget
定义
PublishCommunityLinkDialog.cs:6
Game.PublishCommunityLinkDialog.m_cancelButtonWidget
ButtonWidget m_cancelButtonWidget
定义
PublishCommunityLinkDialog.cs:18
Game.PublishCommunityLinkDialog.m_nameTextBoxWidget
TextBoxWidget m_nameTextBoxWidget
定义
PublishCommunityLinkDialog.cs:8
Game.PublishCommunityLinkDialog.m_typeIconWidget
RectangleWidget m_typeIconWidget
定义
PublishCommunityLinkDialog.cs:10
Game.PublishCommunityLinkDialog.m_typeLabelWidget
LabelWidget m_typeLabelWidget
定义
PublishCommunityLinkDialog.cs:12
Game.PublishCommunityLinkDialog.Update
override void Update()
定义
PublishCommunityLinkDialog.cs:46
Game.PublishCommunityLinkDialog.m_type
ExternalContentType m_type
定义
PublishCommunityLinkDialog.cs:22
Game.PublishCommunityLinkDialog.PublishCommunityLinkDialog
PublishCommunityLinkDialog(string user, string address, string name)
定义
PublishCommunityLinkDialog.cs:24
Game.PublishCommunityLinkDialog.m_changeTypeButtonWidget
ButtonWidget m_changeTypeButtonWidget
定义
PublishCommunityLinkDialog.cs:14
Game.RectangleWidget
定义
RectangleWidget.cs:5
Game.SelectExternalContentTypeDialog
定义
SelectExternalContentTypeDialog.cs:4
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
Engine.Input
定义
CursorType.cs:1
Engine
定义
BaseSound.cs:10
Game
定义
ContentFileBridge.cs:4
Game.ExternalContentType
ExternalContentType
定义
ExternalContentType.cs:2
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Dialog
PublishCommunityLinkDialog.cs
制作者
1.16.1