DayZ
1.29
DayZ Explorer by KGB
Загрузка...
Поиск...
Не найдено
CreditsMenu.c
См. документацию.
1
class
CreditsMenu
extends
UIScriptedMenu
2
{
3
protected
static
float
MENU_FADEIN_TIME
= 2.0;
//fade starts as soon as menu opens
4
protected
static
float
LOGO_FADEIN_TIME
= 1.0;
//fade starts halfway through menu fade in
5
protected
static
float
CREDIT_SCROLL_SPEED
= 200.0;
//pixels per second (relative to 1080p res)
6
7
protected
float
m_MenuFadeInIncrement
;
8
protected
float
m_MenuFadeInLevel
;
9
protected
float
m_MenuFadeInLevel2
= 1;
10
protected
float
m_LogoFadeInIncrement
;
11
protected
float
m_LogoFadeInLevel
;
12
protected
float
m_ScrollIncrement
;
13
protected
float
m_ScrollLevel
;
14
protected
float
m_ScrollMax
;
15
protected
float
m_ScrollSize
;
16
17
protected
ref
JsonDataCredits
m_CreditsData
;
18
19
protected
float
m_CurrentTime
= 0.0;
20
protected
ref
array<ref CreditsElement>
m_CreditsEntries
=
new
array<ref CreditsElement>
;
21
22
protected
ImageWidget
m_Logo
;
23
protected
ScrollWidget
m_Scroller
;
24
protected
WrapSpacerWidget
m_Content
;
25
protected
RichTextWidget
m_InfoPanelText
;
26
protected
Widget
m_InfoPanel
;
27
28
override
Widget
Init
()
29
{
30
float
x_f;
31
int
x
,
y
;
32
33
layoutRoot =
g_Game
.GetWorkspace().CreateWidgets(
"gui/layouts/new_ui/credits/credits_menu.layout"
, null );
34
m_Logo
= ImageWidget.Cast( layoutRoot.FindAnyWidget(
"Logo"
) );
35
m_Scroller
= ScrollWidget.Cast( layoutRoot.FindAnyWidget(
"CreditsPanel"
) );
36
m_Content
= WrapSpacerWidget.Cast( layoutRoot.FindAnyWidget(
"CreditsContent"
) );
37
m_InfoPanelText
=
RichTextWidget
.Cast( layoutRoot.FindAnyWidget(
"InfoPanelText"
) );
38
m_InfoPanel
= layoutRoot.FindAnyWidget(
"InfoPanel"
);
39
40
GetScreenSize
(
x
,
y
);
41
42
m_MenuFadeInIncrement
= 1 /
MENU_FADEIN_TIME
;
43
m_LogoFadeInIncrement
= 1 /
LOGO_FADEIN_TIME
;
44
m_ScrollIncrement
=
CREDIT_SCROLL_SPEED
* (
y
/ 1080 );
45
46
m_Scroller
.VScrollToPos01( 0 );
47
m_Scroller
.GetScreenSize( x_f,
m_ScrollSize
);
48
49
g_Game
.GameScript.Call(
this
,
"LoadDataAsync"
, null );
50
51
UpdateInfoPanelText
(
g_Game
.GetInput().GetCurrentInputDevice());
52
53
return
layoutRoot;
54
}
55
56
override
void
OnShow
()
57
{
58
super.OnShow();
59
60
MissionMainMenu mainMenu = MissionMainMenu.Cast(
g_Game
.GetMission());
61
62
DynamicMusicPlayerCategoryPlaybackData
playbackData =
new
DynamicMusicPlayerCategoryPlaybackData
();
63
playbackData.
m_Category
=
EDynamicMusicPlayerCategory
.CREDITS;
64
playbackData.
m_Forced
=
true
;
65
playbackData.
m_FadeOut
=
true
;
66
mainMenu.GetDynamicMusicPlayer().SetCategory(playbackData);
67
}
68
69
override
void
OnHide
()
70
{
71
super.OnHide();
72
73
MissionMainMenu mainMenu = MissionMainMenu.Cast(
g_Game
.GetMission());
74
75
DynamicMusicPlayerCategoryPlaybackData
playbackData =
new
DynamicMusicPlayerCategoryPlaybackData
();
76
playbackData.
m_Category
=
EDynamicMusicPlayerCategory
.MENU;
77
playbackData.
m_Forced
=
true
;
78
playbackData.
m_FadeOut
=
true
;
79
mainMenu.GetDynamicMusicPlayer().SetCategory(playbackData);
80
}
81
82
void
LoadDataAsync
()
83
{
84
m_CreditsData
=
CreditsLoader
.
GetData
();
85
for
(
int
i = 1; i <=
m_CreditsData
.Departments.Count(); ++i)
86
{
87
CreditsDepartmentElement e =
new
CreditsDepartmentElement( i,
m_Content
,
m_CreditsData
.Departments.Get( i - 1 ) );
88
m_CreditsEntries
.Insert(e);
89
}
90
91
m_Content
.Update();
92
}
93
94
override
void
Update
(
float
timeslice )
95
{
96
float
new_menu_val;
97
if
(
m_LogoFadeInLevel
!= 1 )
98
{
99
new_menu_val =
m_MenuFadeInLevel
+
m_MenuFadeInIncrement
* timeslice;
100
if
( new_menu_val < 1 )
101
m_MenuFadeInLevel
= new_menu_val;
102
else
103
m_MenuFadeInLevel
= 1;
104
105
if
(
m_MenuFadeInLevel
> 0.5 )
106
{
107
float
new_logo_val =
m_LogoFadeInLevel
+
m_LogoFadeInIncrement
* timeslice;
108
if
( new_menu_val < 1 )
109
m_LogoFadeInLevel
= new_logo_val;
110
else
111
m_LogoFadeInLevel
= 1;
112
}
113
114
layoutRoot.SetAlpha(
m_MenuFadeInLevel
);
115
m_Logo
.SetAlpha(
m_LogoFadeInLevel
);
116
m_InfoPanelText
.SetAlpha(
m_MenuFadeInLevel
);
117
}
118
else
if
(
m_ScrollLevel
+
m_ScrollSize
<=
m_Scroller
.GetContentHeight() )
119
{
120
float
new_scroll_val =
m_ScrollLevel
+
m_ScrollIncrement
* timeslice;
121
m_ScrollLevel
= new_scroll_val;
122
m_Scroller
.VScrollToPos(
m_ScrollLevel
);
123
}
124
else
125
{
126
new_menu_val =
m_MenuFadeInLevel2
-
m_MenuFadeInIncrement
* timeslice;
127
if
( new_menu_val > 0 )
128
m_MenuFadeInLevel2
= new_menu_val;
129
else
130
Close
();
131
132
layoutRoot.SetAlpha(
m_MenuFadeInLevel2
);
133
m_InfoPanelText
.SetAlpha(
m_MenuFadeInLevel2
);
134
}
135
136
m_CurrentTime
+= timeslice;
137
138
if
(
g_Game
.GetInput().LocalRelease(
"UAUIBack"
) )
139
{
140
Close
();
141
}
142
}
143
144
void
UpdateInfoPanelText
(
int
input_device_type)
145
{
146
if
(
g_Game
.GetInput().IsEnabledMouseAndKeyboard() && input_device_type ==
EInputDeviceType
.MOUSE_AND_KEYBOARD)
147
{
148
m_InfoPanelText
.SetText(
"ESC "
+
"#menu_back"
);
149
}
150
else
151
{
152
m_InfoPanelText
.SetText(
InputUtils
.
GetRichtextButtonIconFromInputAction
(
"UAUIBack"
,
"#menu_back"
, EUAINPUT_DEVICE_CONTROLLER,
InputUtils
.
ICON_SCALE_TOOLBAR
));
153
}
154
}
155
}
g_Game
DayZGame g_Game
Определения
DayZGame.c:3942
EDynamicMusicPlayerCategory
EDynamicMusicPlayerCategory
Определения
EDynamicMusicPlayerCategory.c:2
x
Icon x
y
Icon y
Close
void Close()
CreditsLoader::GetData
static JsonDataCredits GetData()
Определения
CreditsLoader.c:43
CreditsLoader
Определения
CreditsLoader.c:2
DynamicMusicPlayerCategoryPlaybackData::m_Forced
bool m_Forced
Определения
DynamicMusicPlayer.c:75
DynamicMusicPlayerCategoryPlaybackData::m_Category
EDynamicMusicPlayerCategory m_Category
Определения
DynamicMusicPlayer.c:78
DynamicMusicPlayerCategoryPlaybackData::m_FadeOut
bool m_FadeOut
Определения
DynamicMusicPlayer.c:76
DynamicMusicPlayerCategoryPlaybackData
Определения
DynamicMusicPlayer.c:74
InputUtils::GetRichtextButtonIconFromInputAction
static string GetRichtextButtonIconFromInputAction(notnull UAInput pInput, string pLocalizedDescription, int pInputDeviceType=EUAINPUT_DEVICE_CONTROLLER, float pScale=ICON_SCALE_NORMAL, bool pVertical=false)
Определения
InputUtils.c:167
InputUtils::ICON_SCALE_TOOLBAR
static const float ICON_SCALE_TOOLBAR
Определения
InputUtils.c:15
InputUtils
Определения
InputUtils.c:2
JsonDataCredits
Определения
JsonDataCredits.c:2
RichTextWidget
Определения
gameplay.c:317
UIScriptedMenu::OnShow
override void OnShow()
Определения
CreditsMenu.c:56
UIScriptedMenu::m_MenuFadeInLevel
float m_MenuFadeInLevel
Определения
CreditsMenu.c:8
UIScriptedMenu::Update
override void Update(float timeslice)
Определения
CreditsMenu.c:94
UIScriptedMenu::m_ScrollIncrement
float m_ScrollIncrement
Определения
CreditsMenu.c:12
UIScriptedMenu::m_CurrentTime
float m_CurrentTime
Определения
CreditsMenu.c:19
UIScriptedMenu::m_Logo
ImageWidget m_Logo
Определения
CreditsMenu.c:22
UIScriptedMenu::m_LogoFadeInLevel
float m_LogoFadeInLevel
Определения
CreditsMenu.c:11
UIScriptedMenu::m_ScrollMax
float m_ScrollMax
Определения
CreditsMenu.c:14
UIScriptedMenu::m_InfoPanelText
RichTextWidget m_InfoPanelText
Определения
CreditsMenu.c:25
UIScriptedMenu::m_LogoFadeInIncrement
float m_LogoFadeInIncrement
Определения
CreditsMenu.c:10
UIScriptedMenu::m_MenuFadeInLevel2
float m_MenuFadeInLevel2
Определения
CreditsMenu.c:9
UIScriptedMenu::LOGO_FADEIN_TIME
static float LOGO_FADEIN_TIME
Определения
CreditsMenu.c:4
UIScriptedMenu::m_CreditsData
ref JsonDataCredits m_CreditsData
Определения
CreditsMenu.c:17
UIScriptedMenu::OnHide
override void OnHide()
Определения
CreditsMenu.c:69
UIScriptedMenu::m_ScrollSize
float m_ScrollSize
Определения
CreditsMenu.c:15
UIScriptedMenu::m_Scroller
ScrollWidget m_Scroller
Определения
CreditsMenu.c:23
UIScriptedMenu::m_InfoPanel
Widget m_InfoPanel
Определения
CreditsMenu.c:26
UIScriptedMenu::CREDIT_SCROLL_SPEED
static float CREDIT_SCROLL_SPEED
Определения
CreditsMenu.c:5
UIScriptedMenu::m_ScrollLevel
float m_ScrollLevel
Определения
CreditsMenu.c:13
UIScriptedMenu::LoadDataAsync
void LoadDataAsync()
Определения
CreditsMenu.c:82
UIScriptedMenu::UpdateInfoPanelText
void UpdateInfoPanelText(int input_device_type)
Определения
CreditsMenu.c:144
UIScriptedMenu::m_MenuFadeInIncrement
float m_MenuFadeInIncrement
Определения
CreditsMenu.c:7
UIScriptedMenu::Init
override Widget Init()
Определения
CreditsMenu.c:28
UIScriptedMenu::m_Content
WrapSpacerWidget m_Content
Определения
CreditsMenu.c:24
UIScriptedMenu::MENU_FADEIN_TIME
static float MENU_FADEIN_TIME
Определения
CreditsMenu.c:3
UIScriptedMenu::m_CreditsEntries
ref array< ref CreditsElement > m_CreditsEntries
Определения
CreditsMenu.c:20
UIScriptedMenu
Определения
DayZGame.c:64
Widget
Определения
EnWidgets.c:190
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения
IsBoxCollidingGeometryProxyClasses.c:28
GetScreenSize
proto void GetScreenSize(out int x, out int y)
EInputDeviceType
EInputDeviceType
Определения
input.c:3
Ishodniki
scripts
5_Mission
DayZ
GUI
NewUI
Credits
CreditsMenu.c
Создано системой
1.13.2