Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
mainmenustats.c
Go to the documentation of this file.
1
class
MainMenuStats
extends
ScriptedWidgetEventHandler
2
{
3
protected
Widget
m_Root
;
4
5
protected
Widget
m_TimeSurvived
;
6
protected
TextWidget
m_TimeSurvivedValue
;
7
8
protected
Widget
m_PlayersKilled
;
9
protected
TextWidget
m_PlayersKilledValue
;
10
11
protected
Widget
m_InfectedKilled
;
12
protected
TextWidget
m_InfectedKilledValue
;
13
14
protected
Widget
m_DistanceTraveled
;
15
protected
TextWidget
m_DistanceTraveledValue
;
16
17
protected
Widget
m_LongRangeShot
;
18
protected
TextWidget
m_LongRangeShotValue
;
19
20
private
ref
FullTimeData
m_TimeSurvivedFull
;
21
22
void
MainMenuStats
(
Widget
root)
23
{
24
m_Root
= root;
25
26
m_TimeSurvivedFull
=
new
FullTimeData
();
27
28
m_TimeSurvived
=
m_Root
.FindAnyWidget(
"TimeSurvived"
);
29
m_TimeSurvivedValue
=
TextWidget
.Cast(
m_Root
.FindAnyWidget(
"TimeSurvivedValue"
));
30
31
m_PlayersKilled
=
m_Root
.FindAnyWidget(
"PlayersKilled"
);
32
m_PlayersKilledValue
=
TextWidget
.Cast(
m_Root
.FindAnyWidget(
"PlayersKilledValue"
));
33
34
m_InfectedKilled
=
m_Root
.FindAnyWidget(
"InfectedKilled"
);
35
m_InfectedKilledValue
=
TextWidget
.Cast(
m_Root
.FindAnyWidget(
"InfectedKilledValue"
));
36
37
m_DistanceTraveled
=
m_Root
.FindAnyWidget(
"DistanceTraveled"
);
38
m_DistanceTraveledValue
=
TextWidget
.Cast(
m_Root
.FindAnyWidget(
"DistanceTraveledValue"
));
39
40
m_LongRangeShot
=
m_Root
.FindAnyWidget(
"LongRangeShot"
);
41
m_LongRangeShotValue
=
TextWidget
.Cast(
m_Root
.FindAnyWidget(
"LongRangeShotValue"
));
42
}
43
44
void
ShowStats
()
45
{
46
m_Root
.Show(
true
);
47
UpdateStats
();
48
}
49
50
void
HideStats
()
51
{
52
m_Root
.Show(
false
);
53
}
54
55
void
UpdateStats
()
56
{
57
PlayerBase
player;
58
MissionMainMenu missionMainMenu = MissionMainMenu.Cast(
g_Game
.GetMission());
59
60
if
(missionMainMenu && missionMainMenu.GetIntroScenePC())
61
{
62
#ifdef PLATFORM_WINDOWS
63
player = missionMainMenu.GetIntroScenePC().GetIntroCharacter().GetCharacterObj();
64
#endif
65
#ifdef PLATFORM_CONSOLE
66
player = missionMainMenu.GetIntroScenePC().GetIntroCharacter().GetCharacterObj();
67
#endif
68
69
if
(player)
70
{
71
TimeConversions.ConvertSecondsToFullTime(player.StatGet(
AnalyticsManagerServer
.
STAT_PLAYTIME
),
m_TimeSurvivedFull
);
72
m_TimeSurvivedValue
.SetText(
m_TimeSurvivedFull
.FormatedNonZero());
73
74
m_PlayersKilledValue
.SetText(
GetValueString
(player.StatGet(
AnalyticsManagerServer
.
STAT_PLAYERS_KILLED
)));
75
m_InfectedKilledValue
.SetText(
GetValueString
(player.StatGet(
AnalyticsManagerServer
.
STAT_INFECTED_KILLED
)));
76
m_DistanceTraveledValue
.SetText(
GetDistanceString
(player.StatGet(
AnalyticsManagerServer
.
STAT_DISTANCE
)));
77
m_LongRangeShotValue
.SetText(
GetDistanceString
(player.StatGet(
AnalyticsManagerServer
.
STAT_LONGEST_SURVIVOR_HIT
),
true
));
78
}
79
}
80
}
81
82
protected
string
GetDistanceString
(
float
total_distance,
bool
meters_only =
false
)
83
{
84
if
(total_distance > 0)
85
{
86
string
distanceString;
87
88
float
kilometers = total_distance * 0.001;
89
kilometers =
Math
.
Round
(kilometers);
90
if
( kilometers >= 10 && !meters_only )
91
{
92
distanceString =
GetValueString
(kilometers,
true
) +
" #STR_distance_unit_abbrev_kilometer_0"
;
93
}
94
else
95
{
96
distanceString =
GetValueString
(total_distance) +
" #STR_distance_unit_abbrev_meter_0"
;
97
}
98
99
return
distanceString;
100
}
101
102
return
"0"
+
" #STR_distance_unit_abbrev_meter_0"
;
103
}
104
105
protected
string
GetValueString
(
float
total_value,
bool
show_decimals =
false
)
106
{
107
if
(total_value > 0)
108
{
109
string
out_string;
110
111
int
total_value_int = total_value;
112
string
number_str = total_value_int.ToString();
113
114
//number
115
if
( total_value >= 1000 )
116
{
117
int
count;
118
int
first_length = number_str.
Length
() % 3;
//calculate position of the first separator
119
if
( first_length > 0 )
120
{
121
count = 3 - first_length;
122
}
123
124
for
(
int
i = 0; i < number_str.
Length
(); ++i )
125
{
126
out_string += number_str.
Get
( i );
127
count ++;
128
129
if
( count >= 3 )
130
{
131
out_string +=
" "
;
//separator
132
count = 0;
133
}
134
}
135
}
136
else
137
{
138
out_string = number_str;
139
}
140
141
//decimals
142
if
( show_decimals )
143
{
144
string
total_value_str = total_value.
ToString
();
145
int
decimal_idx = total_value_str.
IndexOf
(
"."
);
146
147
if
( decimal_idx > -1 )
148
{
149
out_string.
TrimInPlace
();
150
out_string += total_value_str.
Substring
( decimal_idx, total_value_str.
Length
() - decimal_idx );
151
}
152
}
153
154
return
out_string;
155
}
156
157
return
"0"
;
158
}
159
163
protected
string
GetTimeString
(
float
total_time);
164
}
AnalyticsManagerServer
Definition
analyticsmanagerserver.c:2
AnalyticsManagerServer::STAT_INFECTED_KILLED
const string STAT_INFECTED_KILLED
Definition
analyticsmanagerserver.c:6
AnalyticsManagerServer::STAT_DISTANCE
const string STAT_DISTANCE
Definition
analyticsmanagerserver.c:3
AnalyticsManagerServer::STAT_PLAYERS_KILLED
const string STAT_PLAYERS_KILLED
Definition
analyticsmanagerserver.c:5
AnalyticsManagerServer::STAT_PLAYTIME
const string STAT_PLAYTIME
Definition
analyticsmanagerserver.c:4
AnalyticsManagerServer::STAT_LONGEST_SURVIVOR_HIT
const string STAT_LONGEST_SURVIVOR_HIT
Definition
analyticsmanagerserver.c:7
FullTimeData
struct that keeps Time relevant information for future formatting
Definition
timeconversions.c:5
Math
Definition
enmath.c:7
PlayerBase
Definition
playerbaseclient.c:2
ScriptedWidgetEventHandler
map: item x vector(index, width, height)
Definition
enwidgets.c:657
ScriptedWidgetEventHandler::m_LongRangeShot
Widget m_LongRangeShot
Definition
mainmenustats.c:17
ScriptedWidgetEventHandler::MainMenuStats
void MainMenuStats(Widget root)
Definition
mainmenustats.c:22
ScriptedWidgetEventHandler::m_Root
Widget m_Root
Definition
sizetochild.c:9
ScriptedWidgetEventHandler::m_TimeSurvivedValue
TextWidget m_TimeSurvivedValue
Definition
mainmenustats.c:6
ScriptedWidgetEventHandler::HideStats
void HideStats()
Definition
mainmenustats.c:50
ScriptedWidgetEventHandler::m_TimeSurvivedFull
ref FullTimeData m_TimeSurvivedFull
Definition
mainmenustats.c:20
ScriptedWidgetEventHandler::ShowStats
void ShowStats()
Definition
mainmenustats.c:44
ScriptedWidgetEventHandler::m_DistanceTraveledValue
TextWidget m_DistanceTraveledValue
Definition
mainmenustats.c:15
ScriptedWidgetEventHandler::m_LongRangeShotValue
TextWidget m_LongRangeShotValue
Definition
mainmenustats.c:18
ScriptedWidgetEventHandler::m_InfectedKilled
Widget m_InfectedKilled
Definition
mainmenustats.c:11
ScriptedWidgetEventHandler::m_DistanceTraveled
Widget m_DistanceTraveled
Definition
mainmenustats.c:14
ScriptedWidgetEventHandler::GetValueString
string GetValueString(float total_value, bool show_decimals=false)
Definition
mainmenustats.c:105
ScriptedWidgetEventHandler::m_InfectedKilledValue
TextWidget m_InfectedKilledValue
Definition
mainmenustats.c:12
ScriptedWidgetEventHandler::m_TimeSurvived
Widget m_TimeSurvived
Definition
mainmenustats.c:5
ScriptedWidgetEventHandler::m_PlayersKilledValue
TextWidget m_PlayersKilledValue
Definition
mainmenustats.c:9
ScriptedWidgetEventHandler::UpdateStats
void UpdateStats()
Definition
mainmenustats.c:55
ScriptedWidgetEventHandler::GetDistanceString
string GetDistanceString(float total_distance, bool meters_only=false)
Definition
mainmenustats.c:82
ScriptedWidgetEventHandler::GetTimeString
string GetTimeString(float total_time)
DEPRECATED.
ScriptedWidgetEventHandler::m_PlayersKilled
Widget m_PlayersKilled
Definition
mainmenustats.c:8
TextWidget
Definition
enwidgets.c:220
Widget
Definition
enwidgets.c:190
float::ToString
proto string ToString(bool simple=true)
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
Math::Round
static proto float Round(float f)
Returns mathematical round of value.
string::Substring
proto string Substring(int start, int len)
Substring of 'str' from 'start' position 'len' number of characters.
string::Get
proto string Get(int index)
Gets n-th character from string.
string::IndexOf
proto native int IndexOf(string sample)
Finds 'sample' in 'str'.
string::Length
proto native int Length()
Returns length of string.
string::TrimInPlace
proto int TrimInPlace()
Removes leading and trailing whitespaces in string.
Widget
WorkspaceWidget Widget
Defined in code.
m_Root
Widget m_Root
Definition
sizetochild.c:91
Games
Dayz
scripts
5_mission
gui
newui
mainmenu
mainmenustats.c
Generated by
1.17.0