Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
ScreenEffectsManager.c
Go to the documentation of this file.
1
class
SCR_ScreenEffectsManager
: SCR_InfoDisplayExtended
2
{
3
// Pointer for getting SCR_ScreenEffectsManager
4
private
static
SCR_ScreenEffectsManager
s_pScreenEffectsManager;
5
6
// Owner data
7
protected
ChimeraCharacter
m_pCharacterEntity
;
8
9
//------------------------------------------------------------------------------------------------
11
static
SCR_ScreenEffectsManager
GetScreenEffectsDisplay
()
12
{
13
return
s_pScreenEffectsManager;
14
}
15
16
//------------------------------------------------------------------------------------------------
17
override
void
DisplayStartDraw
(
IEntity
owner)
18
{
19
s_pScreenEffectsManager =
this
;
20
21
GetGame
().OnUserSettingsChangedInvoker().Insert(
SettingsChanged
);
22
SettingsChanged
();
23
24
// Clear all effects that are applied otherwise
25
ManagerClearEffects
();
26
}
27
28
//------------------------------------------------------------------------------------------------
29
protected
void
SettingsChanged
()
30
{
31
array<BaseInfoDisplay> infoDisplays = {};
32
GetInfoDisplays
(infoDisplays);
33
foreach
(
BaseInfoDisplay
baseInfoDisplays: infoDisplays)
34
{
35
SCR_BaseScreenEffect
screenEffect =
SCR_BaseScreenEffect
.Cast(baseInfoDisplays);
36
if
(screenEffect)
37
{
38
if
(!screenEffect.GetRootWidget())
39
screenEffect.SetRootWidget(
GetRootWidget
());
40
41
screenEffect.SettingsChanged();
42
}
43
}
44
}
45
46
//------------------------------------------------------------------------------------------------
47
override
void
DisplayControlledEntityChanged
(
IEntity
from,
IEntity
to)
48
{
49
if
(to)
50
m_pCharacterEntity
=
ChimeraCharacter
.Cast(to);
51
}
52
53
//------------------------------------------------------------------------------------------------
54
override
event
void
DisplayUpdate
(
IEntity
owner,
float
timeSlice)
55
{
56
if
(!
GetGame
().GetCameraManager())
57
return
;
58
59
CameraBase currentCamera =
GetGame
().GetCameraManager().CurrentCamera();
60
PlayerCamera playerCamera =
GetGame
().GetPlayerController().GetPlayerCamera();
61
if
(!playerCamera || currentCamera != playerCamera)
62
m_wRoot
.SetVisible(
false
);
63
else
64
m_wRoot
.SetVisible(
true
);
65
66
array<BaseInfoDisplay> infoDisplays = {};
67
GetInfoDisplays
(infoDisplays);
68
foreach
(
BaseInfoDisplay
baseInfoDisplays: infoDisplays)
69
{
70
SCR_BaseScreenEffect
screenEffect =
SCR_BaseScreenEffect
.Cast(baseInfoDisplays);
71
if
(screenEffect)
72
screenEffect.UpdateEffect(timeSlice);
73
}
74
}
75
76
//------------------------------------------------------------------------------------------------
78
protected
void
ManagerClearEffects
()
79
{
80
array<BaseInfoDisplay> infoDisplays = {};
81
GetInfoDisplays
(infoDisplays);
82
foreach
(
BaseInfoDisplay
baseInfoDisplays: infoDisplays)
83
{
84
SCR_BaseScreenEffect
screenEffect =
SCR_BaseScreenEffect
.Cast(baseInfoDisplays);
85
if
(screenEffect)
86
screenEffect.ClearEffects();
87
}
88
}
89
90
//------------------------------------------------------------------------------------------------
92
BaseInfoDisplay
GetEffect
(
typename
effectType)
93
{
94
array<BaseInfoDisplay> infoDisplays = {};
95
GetInfoDisplays
(infoDisplays);
96
97
foreach
(
BaseInfoDisplay
baseInfoDisplays: infoDisplays)
98
{
99
if
(baseInfoDisplays.Type() == effectType)
100
return
baseInfoDisplays;
101
}
102
103
return
null;
104
}
105
106
//------------------------------------------------------------------------------------------------
107
override
event
void
DisplayStopDraw
(
IEntity
owner)
108
{
109
ManagerClearEffects
();
110
GetGame
().OnUserSettingsChangedInvoker().Remove(
SettingsChanged
);
111
112
s_pScreenEffectsManager = null;
113
}
114
};
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
m_wRoot
Widget m_wRoot
Definition
SCR_GameModeCleanSweep.c:25
GetRootWidget
Widget GetRootWidget()
Definition
SCR_ModularButtonComponent.c:189
BaseInfoDisplay
Definition
BaseInfoDisplay.c:13
ChimeraCharacter
Definition
ChimeraCharacter.c:13
IEntity
Definition
IEntity.c:13
SCR_BaseScreenEffect
Definition
SCR_BaseScreenEffect.c:2
SCR_ScreenEffectsManager
Definition
ScreenEffectsManager.c:2
SCR_ScreenEffectsManager::DisplayUpdate
override event void DisplayUpdate(IEntity owner, float timeSlice)
Definition
ScreenEffectsManager.c:54
SCR_ScreenEffectsManager::GetEffect
BaseInfoDisplay GetEffect(typename effectType)
Return the effect is it exist.
Definition
ScreenEffectsManager.c:92
SCR_ScreenEffectsManager::SettingsChanged
void SettingsChanged()
Definition
ScreenEffectsManager.c:29
SCR_ScreenEffectsManager::DisplayStopDraw
override event void DisplayStopDraw(IEntity owner)
Definition
ScreenEffectsManager.c:107
SCR_ScreenEffectsManager::ManagerClearEffects
void ManagerClearEffects()
Call ClearEffects() in every child inheriting from SCR_BaseScreenEffect.
Definition
ScreenEffectsManager.c:78
SCR_ScreenEffectsManager::m_pCharacterEntity
ChimeraCharacter m_pCharacterEntity
Definition
ScreenEffectsManager.c:7
SCR_ScreenEffectsManager::GetScreenEffectsDisplay
static SCR_ScreenEffectsManager GetScreenEffectsDisplay()
Static GetScreenEffectsDisplay will return this regardless of whether SCR_ScreenEffectsManager is run...
Definition
ScreenEffectsManager.c:11
SCR_ScreenEffectsManager::DisplayStartDraw
override void DisplayStartDraw(IEntity owner)
Definition
ScreenEffectsManager.c:17
SCR_ScreenEffectsManager::DisplayControlledEntityChanged
override void DisplayControlledEntityChanged(IEntity from, IEntity to)
Definition
ScreenEffectsManager.c:47
GetInfoDisplays
BaseHUDComponentClass GameComponentClass GetInfoDisplays(out notnull array< BaseInfoDisplay > outInfoDisplays)
scripts
Game
UI
ScreenEffectsManager.c
Generated by
1.17.0