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_StaminaBlurEffect.c
Go to the documentation of this file.
1
class
SCR_StaminaBlurEffect
:
SCR_BaseScreenEffect
2
{
3
// PP constants
4
// Play Animation of StaminaEffects()
5
protected
const
float
STAMINAEFFECT_INITIAL_OPACITY_TARGET
= 0.75;
6
protected
const
float
STAMINAEFFECT_FADEIN_PROGRESSION_TARGET
= 0.35;
7
protected
const
float
STAMINAEFFECT_FADEIN_PROGRESSION_DURATION
= 1;
8
protected
const
float
STAMINA_CLEAREFFECT_DELAY
= 2000;
9
protected
const
float
STAMINA_EFFECT_THRESHOLD
= 0.45;
10
11
[
Attribute
(defvalue:
"0.1111"
, uiwidget:
UIWidgets
.EditBox,
desc
:
"Blur intensity multiplier"
)]
12
protected
float
m_fStaminaBlurMultiplier
;
13
14
//Blurriness
15
private
static
float
s_fBlurriness;
16
private
static
bool
s_bEnableRadialBlur;
17
protected
const
string
RADIAL_BLUR_EMAT
=
"{B011FE0AD21E2447}UI/Materials/ScreenEffects_BlurPP.emat"
;
18
19
// Widgets
20
private
ImageWidget
m_wSupression;
21
22
// Variables connected to a material, need to be static
23
static
const
int
RADIAL_BLUR_PRIORITY = 6;
24
25
// Stamina
26
protected
int
m_iStaminaSignal
= -1;
27
protected
bool
m_bStaminaEffectActive
;
28
29
// Owner data
30
protected
SignalsManagerComponent
m_pSignalsManager
;
31
32
//------------------------------------------------------------------------------------------------
33
protected
override
void
DisplayStartDraw
(
IEntity
owner)
34
{
35
m_wSupression =
ImageWidget
.Cast(
m_wRoot
.FindAnyWidget(
"SuppressionVignette"
));
36
}
37
38
//------------------------------------------------------------------------------------------------
39
protected
override
void
DisplayControlledEntityChanged
(
IEntity
from,
IEntity
to)
40
{
41
ChimeraCharacter
characterEntity =
ChimeraCharacter
.Cast(to);
42
if
(!characterEntity)
43
return
;
44
45
// Audio components for damage-related audio effects
46
m_pSignalsManager
=
SignalsManagerComponent
.Cast(characterEntity.FindComponent(
SignalsManagerComponent
));
47
if
(
m_pSignalsManager
)
48
m_iStaminaSignal
=
m_pSignalsManager
.FindSignal(
"Exhaustion"
);
49
50
characterEntity.GetWorld().SetCameraPostProcessEffect(characterEntity.GetWorld().GetCurrentCameraId(), RADIAL_BLUR_PRIORITY,
PostProcessEffectType
.RadialBlur,
RADIAL_BLUR_EMAT
);
51
}
52
53
//------------------------------------------------------------------------------------------------
54
protected
void
FindStaminaValues
()
55
{
56
if
(!
m_pSignalsManager
||
m_iStaminaSignal
== -1)
57
return
;
58
59
float
stamina =
m_pSignalsManager
.GetSignalValue(
m_iStaminaSignal
);
60
s_fBlurriness = m_wSupression.GetMaskProgress() *
m_fStaminaBlurMultiplier
;
61
62
if
(stamina >
STAMINA_EFFECT_THRESHOLD
&& !
m_bStaminaEffectActive
)
63
{
64
s_bEnableRadialBlur =
true
;
65
StaminaEffects
(
true
);
66
}
67
else
if
(
m_bStaminaEffectActive
&& stamina <
STAMINA_EFFECT_THRESHOLD
)
68
{
69
s_bEnableRadialBlur =
false
;
70
GetGame
().GetCallqueue().Remove(
StaminaEffects
);
71
GetGame
().GetCallqueue().Remove(
ClearStaminaEffect
);
72
ClearStaminaEffect
(
false
);
73
m_bStaminaEffectActive
=
false
;
74
}
75
}
76
77
//------------------------------------------------------------------------------------------------
78
protected
void
StaminaEffects
(
bool
repeat)
79
{
80
if
(!m_wSupression)
81
return
;
82
83
m_bStaminaEffectActive
=
true
;
84
85
m_wSupression.SetOpacity(
STAMINAEFFECT_INITIAL_OPACITY_TARGET
);
86
AnimateWidget
.
AlphaMask
(m_wSupression,
STAMINAEFFECT_FADEIN_PROGRESSION_TARGET
,
STAMINAEFFECT_FADEIN_PROGRESSION_DURATION
);
87
88
UpdateEffectVisibility
(m_wSupression);
89
90
GetGame
().GetCallqueue().CallLater(
ClearStaminaEffect
,
STAMINA_CLEAREFFECT_DELAY
,
false
,
true
);
91
}
92
93
//------------------------------------------------------------------------------------------------
94
protected
void
ClearStaminaEffect
(
bool
repeat)
95
{
96
if
(!m_wSupression)
97
return
;
98
99
AnimateWidget
.
AlphaMask
(m_wSupression, 0, 1);
100
if
(repeat &&
m_bStaminaEffectActive
&& m_wSupression && !m_wSupression.GetOpacity() == 0)
101
GetGame
().GetCallqueue().CallLater(
StaminaEffects
,
STAMINA_CLEAREFFECT_DELAY
,
false
, repeat);
102
}
103
104
//------------------------------------------------------------------------------------------------
105
protected
override
void
DisplayOnSuspended
()
106
{
107
s_bEnableRadialBlur =
false
;
108
}
109
110
//------------------------------------------------------------------------------------------------
111
protected
override
void
DisplayOnResumed
()
112
{
113
s_bEnableRadialBlur =
true
;
114
}
115
116
//------------------------------------------------------------------------------------------------
117
protected
override
void
UpdateEffect
(
float
timeSlice)
118
{
119
if
(
m_pSignalsManager
)
120
FindStaminaValues
();
121
}
122
123
//------------------------------------------------------------------------------------------------
124
protected
override
void
ClearEffects
()
125
{
126
if
(m_wSupression)
127
HideSingleEffect
(m_wSupression);
128
}
129
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
m_wRoot
Widget m_wRoot
Definition
SCR_GameModeCleanSweep.c:25
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
AnimateWidget
Definition
AnimateWidget.c:3
AnimateWidget::AlphaMask
static WidgetAnimationAlphaMask AlphaMask(Widget widget, float targetValue, float speed)
Definition
AnimateWidget.c:189
ChimeraCharacter
Definition
ChimeraCharacter.c:13
IEntity
Definition
IEntity.c:13
ImageWidget
Definition
ImageWidget.c:13
SCR_BaseScreenEffect
Definition
SCR_BaseScreenEffect.c:2
SCR_BaseScreenEffect::HideSingleEffect
void HideSingleEffect(notnull ImageWidget effectWidget)
Definition
SCR_BaseScreenEffect.c:69
SCR_BaseScreenEffect::UpdateEffectVisibility
void UpdateEffectVisibility(notnull ImageWidget effectWidget)
The widget will be made visible or hidden based on its opacity.
Definition
SCR_BaseScreenEffect.c:41
SCR_StaminaBlurEffect
Definition
SCR_StaminaBlurEffect.c:2
SCR_StaminaBlurEffect::STAMINAEFFECT_INITIAL_OPACITY_TARGET
const float STAMINAEFFECT_INITIAL_OPACITY_TARGET
Definition
SCR_StaminaBlurEffect.c:5
SCR_StaminaBlurEffect::STAMINA_EFFECT_THRESHOLD
const float STAMINA_EFFECT_THRESHOLD
Definition
SCR_StaminaBlurEffect.c:9
SCR_StaminaBlurEffect::STAMINA_CLEAREFFECT_DELAY
const float STAMINA_CLEAREFFECT_DELAY
Definition
SCR_StaminaBlurEffect.c:8
SCR_StaminaBlurEffect::m_fStaminaBlurMultiplier
float m_fStaminaBlurMultiplier
Definition
SCR_StaminaBlurEffect.c:12
SCR_StaminaBlurEffect::m_bStaminaEffectActive
bool m_bStaminaEffectActive
Definition
SCR_StaminaBlurEffect.c:27
SCR_StaminaBlurEffect::STAMINAEFFECT_FADEIN_PROGRESSION_DURATION
const float STAMINAEFFECT_FADEIN_PROGRESSION_DURATION
Definition
SCR_StaminaBlurEffect.c:7
SCR_StaminaBlurEffect::DisplayOnSuspended
override void DisplayOnSuspended()
Definition
SCR_StaminaBlurEffect.c:105
SCR_StaminaBlurEffect::DisplayStartDraw
override void DisplayStartDraw(IEntity owner)
Definition
SCR_StaminaBlurEffect.c:33
SCR_StaminaBlurEffect::UpdateEffect
override void UpdateEffect(float timeSlice)
Definition
SCR_StaminaBlurEffect.c:117
SCR_StaminaBlurEffect::FindStaminaValues
void FindStaminaValues()
Definition
SCR_StaminaBlurEffect.c:54
SCR_StaminaBlurEffect::ClearEffects
override void ClearEffects()
Definition
SCR_StaminaBlurEffect.c:124
SCR_StaminaBlurEffect::RADIAL_BLUR_EMAT
const string RADIAL_BLUR_EMAT
Definition
SCR_StaminaBlurEffect.c:17
SCR_StaminaBlurEffect::m_pSignalsManager
SignalsManagerComponent m_pSignalsManager
Definition
SCR_StaminaBlurEffect.c:30
SCR_StaminaBlurEffect::ClearStaminaEffect
void ClearStaminaEffect(bool repeat)
Definition
SCR_StaminaBlurEffect.c:94
SCR_StaminaBlurEffect::m_iStaminaSignal
int m_iStaminaSignal
Definition
SCR_StaminaBlurEffect.c:26
SCR_StaminaBlurEffect::StaminaEffects
void StaminaEffects(bool repeat)
Definition
SCR_StaminaBlurEffect.c:78
SCR_StaminaBlurEffect::DisplayControlledEntityChanged
override void DisplayControlledEntityChanged(IEntity from, IEntity to)
Definition
SCR_StaminaBlurEffect.c:39
SCR_StaminaBlurEffect::STAMINAEFFECT_FADEIN_PROGRESSION_TARGET
const float STAMINAEFFECT_FADEIN_PROGRESSION_TARGET
Definition
SCR_StaminaBlurEffect.c:6
SCR_StaminaBlurEffect::DisplayOnResumed
override void DisplayOnResumed()
Definition
SCR_StaminaBlurEffect.c:111
SignalsManagerComponent
Definition
SignalsManagerComponent.c:13
UIWidgets
Definition
attributes.c:40
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
PostProcessEffectType
PostProcessEffectType
Definition
EnWorld.c:20
scripts
Game
UI
ScreenEffects
SCR_StaminaBlurEffect.c
Generated by
1.17.0