Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
PlayerWidget.cs
浏览该文件的文档.
1
using
System.Xml.Linq;
2
3
namespace
Game
{
4
public
class
PlayerWidget
:
CanvasWidget
{
5
public
PlayerModelWidget
m_playerModel
;
6
public
LabelWidget
m_nameLabel
;
7
public
LabelWidget
m_detailsLabel
;
8
public
ButtonWidget
m_editButton
;
9
10
public
PlayerData
m_playerData
;
11
public
SubsystemTimeOfDay
m_subsystemTimeOfDay
;
12
public
const
string
fName
=
"PlayerWidget"
;
13
14
public
PlayerWidget
(
PlayerData
playerData,
CharacterSkinsCache
characterSkinsCache) {
15
XElement node =
ContentManager
.
Get
<XElement>(
"Widgets/PlayerWidget"
);
16
LoadContents
(
this
, node);
17
m_playerModel
=
Children
.Find<
PlayerModelWidget
>(
"PlayerModel"
);
18
m_nameLabel
=
Children
.Find<
LabelWidget
>(
"Name"
);
19
m_detailsLabel
=
Children
.Find<
LabelWidget
>(
"Details"
);
20
m_editButton
=
Children
.Find<
ButtonWidget
>(
"EditButton"
);
21
m_playerModel.CharacterSkinsCache = characterSkinsCache;
22
m_playerData
= playerData;
23
}
24
25
public
override
void
Update
() {
26
SubsystemGameInfo
subsystemGameInfo =
m_playerData
.SubsystemPlayers.Project.FindSubsystem<
SubsystemGameInfo
>(
true
);
27
m_playerModel.PlayerClass =
m_playerData
.PlayerClass;
28
m_playerModel.CharacterSkinName =
m_playerData
.CharacterSkinName;
29
m_playerModel.PlayerData =
m_playerData
;
30
m_nameLabel.Text =
m_playerData
.Name;
31
m_detailsLabel.Text =
m_playerData
.PlayerClass.ToString();
32
m_detailsLabel.Text +=
"\n"
;
33
LabelWidget
detailsLabel =
m_detailsLabel
;
34
detailsLabel.Text =
string
.Format(
35
LanguageControl
.
Get
(
fName
, 0),
36
detailsLabel.
Text
,
37
PlayerScreen
.
GetDeviceDisplayName
(
m_playerData
.InputDevice)
38
);
39
m_detailsLabel.Text +=
"\n"
;
40
float
time = 1200f;
41
if
(
m_subsystemTimeOfDay
==
null
42
&&
m_playerData
.m_subsystemGameInfo !=
null
) {
43
m_subsystemTimeOfDay
=
m_playerData
.m_subsystemGameInfo.Project.FindSubsystem<
SubsystemTimeOfDay
>();
44
}
45
if
(
m_subsystemTimeOfDay
!=
null
) {
46
time =
m_subsystemTimeOfDay
.DayDuration;
47
}
48
m_detailsLabel.Text += m_playerData.LastSpawnTime >= 0.0
49
?
string
.Format(
50
LanguageControl
.
Get
(
fName
, 1),
51
$
"{(subsystemGameInfo.TotalElapsedGameTime - m_playerData.LastSpawnTime) / time:N1}"
52
)
53
:
LanguageControl
.
Get
(
fName
, 2);
54
if
(
m_editButton
.IsClicked) {
55
ScreensManager
.
SwitchScreen
(
"Player"
,
PlayerScreen
.
Mode
.Edit,
m_playerData
);
56
}
57
}
58
}
59
}
Game.ButtonWidget
定义
ButtonWidget.cs:5
Game.CanvasWidget
定义
CanvasWidget.cs:4
Game.CharacterSkinsCache
定义
CharacterSkinsCache.cs:4
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.LabelWidget
定义
LabelWidget.cs:4
Game.LabelWidget.Text
override string Text
定义
LabelWidget.cs:12
Game.LanguageControl
定义
LanguageControl.cs:8
Game.LanguageControl.Get
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
定义
LanguageControl.cs:247
Game.PlayerData
定义
PlayerData.cs:7
Game.PlayerModelWidget
定义
PlayerModelWidget.cs:5
Game.PlayerScreen
定义
PlayerScreen.cs:9
Game.PlayerScreen.Mode
Mode
定义
PlayerScreen.cs:10
Game.PlayerScreen.GetDeviceDisplayName
static string GetDeviceDisplayName(WidgetInputDevice device)
定义
PlayerScreen.cs:251
Game.PlayerWidget.Update
override void Update()
定义
PlayerWidget.cs:25
Game.PlayerWidget.m_playerData
PlayerData m_playerData
定义
PlayerWidget.cs:10
Game.PlayerWidget.m_detailsLabel
LabelWidget m_detailsLabel
定义
PlayerWidget.cs:7
Game.PlayerWidget.m_editButton
ButtonWidget m_editButton
定义
PlayerWidget.cs:8
Game.PlayerWidget.PlayerWidget
PlayerWidget(PlayerData playerData, CharacterSkinsCache characterSkinsCache)
定义
PlayerWidget.cs:14
Game.PlayerWidget.m_subsystemTimeOfDay
SubsystemTimeOfDay m_subsystemTimeOfDay
定义
PlayerWidget.cs:11
Game.PlayerWidget.m_nameLabel
LabelWidget m_nameLabel
定义
PlayerWidget.cs:6
Game.PlayerWidget.fName
const string fName
定义
PlayerWidget.cs:12
Game.PlayerWidget.m_playerModel
PlayerModelWidget m_playerModel
定义
PlayerWidget.cs:5
Game.ScreensManager
定义
ScreensManager.cs:5
Game.ScreensManager.SwitchScreen
static void SwitchScreen(string name, params object[] parameters)
定义
ScreensManager.cs:65
Game.SubsystemGameInfo
定义
SubsystemGameInfo.cs:5
Game.SubsystemTimeOfDay
定义
SubsystemTimeOfDay.cs:6
Game.Widget.LoadContents
virtual void LoadContents(object eventsTarget, XElement node)
定义
Widget.cs:507
Game
定义
ContentFileBridge.cs:4
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Widget
PlayerWidget.cs
制作者
1.16.1