Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_ScenarioInfoUI.c
Go to the documentation of this file.
1
class
SCR_ScenarioInfoUI
:
ScriptedWidgetComponent
2
{
3
[
Attribute
(
SCR_SoundEvent
.SOUND_FE_TEXT_ENTERED,
UIWidgets
.EditBox,
""
)]
4
protected
string
m_sSoundCharEntered
;
5
6
[
Attribute
(
SCR_SoundEvent
.SOUND_FE_TEXT_LEFT,
UIWidgets
.EditBox,
""
)]
7
protected
string
m_sSoundCharLeft
;
8
9
protected
string
m_sCharacters
;
10
11
[
Attribute
(defvalue:
"34"
, uiwidget:
UIWidgets
.EditBox,
desc
:
"Variable for loop frequency time"
)]
12
protected
float
LOOP_FREQUENCY
;
13
14
[
Attribute
(defvalue:
"0.1"
, uiwidget:
UIWidgets
.EditBox,
desc
:
"variable for time needed to remove character"
)]
15
protected
float
TIME_REMOVE_CHARACTER
;
16
17
protected
ref array<RichTextWidget>
m_wTextWidgets
;
18
protected
ref array<string>
m_aLines
;
19
protected
ref array<string>
m_aLinesTranslated
= {};
20
21
protected
float
m_fAccumulatedTime
;
22
protected
int
m_iCurrentLine
;
23
protected
int
m_iCurrentCharacter
;
24
protected
int
m_iCharactersCount
;
25
protected
int
m_iLinesCount
;
26
protected
Widget
m_wOwner
;
27
28
protected
SCR_ScenarioFrameworkActionShowWidget
m_ScenarioAction
;
29
30
//------------------------------------------------------------------------------------------------
31
override
void
HandlerAttached
(
Widget
w)
32
{
33
m_wTextWidgets
= {};
34
int
i = 1;
35
36
RichTextWidget
widgetLine =
RichTextWidget
.Cast(w.FindAnyWidget(
"m_wScenarioLine"
+ i.ToString()));
37
while
(widgetLine)
38
{
39
m_wTextWidgets
.Insert(widgetLine);
40
i++;
41
widgetLine =
RichTextWidget
.Cast(w.FindAnyWidget(
"m_wScenarioLine"
+ i.ToString()));
42
}
43
44
m_wOwner
= w;
45
}
46
47
//------------------------------------------------------------------------------------------------
48
void
Show
(notnull array<string> lines,
SCR_ScenarioFrameworkActionShowWidget
scenarioAction)
49
{
50
m_aLines
= lines;
51
m_ScenarioAction
= scenarioAction;
52
53
int
widgetsCount =
m_wTextWidgets
.Count();
54
m_iLinesCount
=
m_aLines
.Count();
55
if
(
m_iLinesCount
> widgetsCount)
56
m_iLinesCount
= widgetsCount;
57
58
for
(
int
i = 0; i <
m_iLinesCount
; i++)
59
{
60
m_wTextWidgets
[i].SetVisible(!
m_aLines
[i].
IsEmpty
());
61
m_wTextWidgets
[i].SetText(
" "
);
62
m_aLinesTranslated
.Insert(
WidgetManager
.Translate(
m_aLines
[i]));
63
}
64
65
m_sCharacters
=
""
;
66
m_iCurrentLine
= 0;
67
m_iCurrentCharacter
= 0;
68
69
m_iCharactersCount
=
m_aLinesTranslated
[0].Length();
70
71
SCR_GameplaySettingsSubMenu
.
m_OnLanguageChanged
.Insert(
OnLanguageChanged
);
72
73
SCR_ScenarioFrameworkSystem
.
GetCallQueuePausable
().CallLater(
OnTickStartAnimation
,
LOOP_FREQUENCY
);
74
}
75
76
//------------------------------------------------------------------------------------------------
77
protected
void
OnLanguageChanged
(
SCR_GameplaySettingsSubMenu
menu)
78
{
79
for
(
int
i = 0; i <
m_iLinesCount
; i++)
80
{
81
m_wTextWidgets
[i].SetVisible(!
m_aLines
[i].
IsEmpty
());
82
m_wTextWidgets
[i].SetText(
m_aLines
[i]);
83
}
84
85
m_iCurrentLine
=
m_iLinesCount
;
86
}
87
88
//------------------------------------------------------------------------------------------------
90
protected
void
OnTickStartAnimation
()
91
{
92
if
(
m_iCurrentLine
>=
m_iLinesCount
)
93
{
94
m_ScenarioAction
.ShowAnimationEnded();
95
return
;
96
}
97
98
if
(
m_iCurrentCharacter
<
m_iCharactersCount
)
99
{
100
m_sCharacters
+=
m_aLinesTranslated
[
m_iCurrentLine
][
m_iCurrentCharacter
];
101
m_wTextWidgets
[
m_iCurrentLine
].SetText(
m_sCharacters
);
102
m_iCurrentCharacter
++;
103
}
104
else
105
{
106
m_iCurrentLine
++;
107
if
(
m_iCurrentLine
<
m_iLinesCount
)
108
{
109
m_iCharactersCount
=
m_aLinesTranslated
[
m_iCurrentLine
].Length();
110
m_iCurrentCharacter
= 0;
111
m_sCharacters
=
""
;
112
}
113
}
114
115
SCR_ScenarioFrameworkSystem
.
GetCallQueuePausable
().CallLater(
OnTickStartAnimation
,
LOOP_FREQUENCY
);
116
SCR_UISoundEntity
.SoundEvent(
m_sSoundCharEntered
);
117
}
118
119
//------------------------------------------------------------------------------------------------
120
void
Hide
()
121
{
122
m_fAccumulatedTime
= 0;
123
m_iCurrentLine
=
m_iLinesCount
- 1;
124
if
(
m_iCurrentLine
>= 0)
125
m_iCurrentCharacter
=
m_aLinesTranslated
[
m_iCurrentLine
].Length();
126
127
SCR_ScenarioFrameworkSystem
.
GetCallQueuePausable
().CallLater(
OnTickHideAnimation
,
LOOP_FREQUENCY
);
128
}
129
130
//------------------------------------------------------------------------------------------------
131
protected
void
OnTickHideAnimation
()
132
{
133
if
(
m_wOwner
.GetOpacity() <= 0)
134
{
135
SCR_GameplaySettingsSubMenu
.
m_OnLanguageChanged
.Remove(
OnLanguageChanged
);
136
m_ScenarioAction
.HideAnimationEnded();
137
return
;
138
}
139
140
if
(
m_fAccumulatedTime
<
TIME_REMOVE_CHARACTER
)
141
{
142
m_fAccumulatedTime
+=
TIME_REMOVE_CHARACTER
;
143
SCR_ScenarioFrameworkSystem
.
GetCallQueuePausable
().CallLater(
OnTickHideAnimation
,
TIME_REMOVE_CHARACTER
);
144
return
;
145
}
146
147
m_fAccumulatedTime
= 0;
148
149
m_wOwner
.SetOpacity(
m_wOwner
.GetOpacity() -0.05);
150
151
SCR_ScenarioFrameworkSystem
.
GetCallQueuePausable
().CallLater(
OnTickHideAnimation
,
LOOP_FREQUENCY
);
152
}
153
}
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
RichTextWidget
Definition
RichTextWidget.c:13
SCR_GameplaySettingsSubMenu
Definition
SCR_GameplaySettingsSubMenu.c:6
SCR_GameplaySettingsSubMenu::m_OnLanguageChanged
static ref ScriptInvoker_GameplaySettingsSubMenuChanged m_OnLanguageChanged
Definition
SCR_GameplaySettingsSubMenu.c:24
SCR_ScenarioFrameworkActionShowWidget
Definition
SCR_ScenarioFrameworkActionShowWidget.c:3
SCR_ScenarioFrameworkSystem
Definition
SCR_ScenarioFrameworkSystem.c:2
SCR_ScenarioFrameworkSystem::GetCallQueuePausable
static ScriptCallQueue GetCallQueuePausable()
Definition
SCR_ScenarioFrameworkSystem.c:87
SCR_ScenarioInfoUI
Definition
SCR_ScenarioInfoUI.c:2
SCR_ScenarioInfoUI::m_iCurrentLine
int m_iCurrentLine
Definition
SCR_ScenarioInfoUI.c:22
SCR_ScenarioInfoUI::m_iLinesCount
int m_iLinesCount
Definition
SCR_ScenarioInfoUI.c:25
SCR_ScenarioInfoUI::m_aLines
ref array< string > m_aLines
Definition
SCR_ScenarioInfoUI.c:18
SCR_ScenarioInfoUI::m_sSoundCharLeft
string m_sSoundCharLeft
Definition
SCR_ScenarioInfoUI.c:7
SCR_ScenarioInfoUI::TIME_REMOVE_CHARACTER
float TIME_REMOVE_CHARACTER
Definition
SCR_ScenarioInfoUI.c:15
SCR_ScenarioInfoUI::m_wOwner
Widget m_wOwner
Definition
SCR_ScenarioInfoUI.c:26
SCR_ScenarioInfoUI::Show
void Show(notnull array< string > lines, SCR_ScenarioFrameworkActionShowWidget scenarioAction)
Definition
SCR_ScenarioInfoUI.c:48
SCR_ScenarioInfoUI::m_aLinesTranslated
ref array< string > m_aLinesTranslated
Definition
SCR_ScenarioInfoUI.c:19
SCR_ScenarioInfoUI::OnTickStartAnimation
void OnTickStartAnimation()
TODO: Security for HTML tags.
Definition
SCR_ScenarioInfoUI.c:90
SCR_ScenarioInfoUI::m_wTextWidgets
ref array< RichTextWidget > m_wTextWidgets
Definition
SCR_ScenarioInfoUI.c:17
SCR_ScenarioInfoUI::m_fAccumulatedTime
float m_fAccumulatedTime
Definition
SCR_ScenarioInfoUI.c:21
SCR_ScenarioInfoUI::m_iCurrentCharacter
int m_iCurrentCharacter
Definition
SCR_ScenarioInfoUI.c:23
SCR_ScenarioInfoUI::OnLanguageChanged
void OnLanguageChanged(SCR_GameplaySettingsSubMenu menu)
Definition
SCR_ScenarioInfoUI.c:77
SCR_ScenarioInfoUI::LOOP_FREQUENCY
float LOOP_FREQUENCY
Definition
SCR_ScenarioInfoUI.c:12
SCR_ScenarioInfoUI::m_iCharactersCount
int m_iCharactersCount
Definition
SCR_ScenarioInfoUI.c:24
SCR_ScenarioInfoUI::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_ScenarioInfoUI.c:31
SCR_ScenarioInfoUI::m_sSoundCharEntered
string m_sSoundCharEntered
Definition
SCR_ScenarioInfoUI.c:4
SCR_ScenarioInfoUI::m_ScenarioAction
SCR_ScenarioFrameworkActionShowWidget m_ScenarioAction
Definition
SCR_ScenarioInfoUI.c:28
SCR_ScenarioInfoUI::OnTickHideAnimation
void OnTickHideAnimation()
Definition
SCR_ScenarioInfoUI.c:131
SCR_ScenarioInfoUI::Hide
void Hide()
Definition
SCR_ScenarioInfoUI.c:120
SCR_ScenarioInfoUI::m_sCharacters
string m_sCharacters
Definition
SCR_ScenarioInfoUI.c:9
SCR_SoundEvent
Definition
SCR_SoundEvent.c:2
SCR_UISoundEntity
Definition
SCR_UISoundEntity.c:8
ScriptedWidgetComponent
Definition
ScriptedWidgetComponent.c:13
UIWidgets
Definition
attributes.c:40
Widget
Definition
Widget.c:13
WidgetManager
Definition
WidgetManager.c:16
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
IsEmpty
proto native bool IsEmpty()
scripts
Game
UI
ScenarioInfoHUD
SCR_ScenarioInfoUI.c
Generated by
1.17.0