Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_DeathScreenEffect.c
Go to the documentation of this file.
2{
3 // Play Animation of DeathEffect()
4 protected const float DEATHEFFECT_START_OPACITY = 0.7;
5 protected const float DEATHEFFECT_FADEIN_OPACITY_DURATION = 8;
6 protected const float DEATHEFFECT_FADEIN_PROGRESSION_DURACTION = 5;
7
8 // Play Animation of InstaDeathEffect()
9 protected const float INSTADEATHEFFECT_START_OPACITY = 0.4;
10 protected const float INSTADEATHEFFECT_START_PROGRESSION = 0.4;
11 protected const float INSTADEATHEFFECT_FADEIN_OPACITY_DURATION = 8.5;
13
14 protected const float DEATHEFFECT_FADEIN_OPACITY_TARGET = 1;
15 protected const float DEATHEFFECT_FADEIN_PROGRESSION_TARGET = 1;
16
17 // Widgets
20
21 // Character
25
26
27 //------------------------------------------------------------------------------------------------
28 override void DisplayStartDraw(IEntity owner)
29 {
31
32 m_wDeath = ImageWidget.Cast(m_wRoot.FindAnyWidget("DeathOverlay"));
33 m_wBlackOut = ImageWidget.Cast(m_wRoot.FindAnyWidget("DeathBlackOut"));
34 }
35
36 //------------------------------------------------------------------------------------------------
38 {
39 if (!to)
40 return;
41
44 return;
45
46 //Don't remove effects until new entity was aquired, so death effects persist through death
48
51 return;
52
53 // Invoker for momentary damage events and DOT damage events
54 m_pHeadHitZone = m_pDamageManager.GetHeadHitZone();
55
57 m_pHeadHitZone.GetOnDamageStateChanged().Insert(InstaDeathEffect);
58
59 m_pDamageManager.GetOnDamageStateChanged().Insert(OnDamageStateChanged);
60 }
61
62 //------------------------------------------------------------------------------------------------
63 private void OnDamageStateChanged()
64 {
65 if (m_pDamageManager.GetState() != EDamageState.DESTROYED)
66 return;
67
68 if (m_pHeadHitZone.GetDamageState() != EDamageState.DESTROYED)
70 else
72 }
73
74 //------------------------------------------------------------------------------------------------
85
86 //------------------------------------------------------------------------------------------------
104
105 //------------------------------------------------------------------------------------------------
106 protected override void ClearEffects()
107 {
109 m_pDamageManager.GetOnDamageStateChanged().Remove(OnDamageStateChanged);
110
111 if (m_pHeadHitZone)
112 m_pHeadHitZone.GetOnDamageStateChanged().Remove(InstaDeathEffect);
113
114 if (m_wDeath)
116 }
117}
Widget m_wRoot
override void OnDamageStateChanged(EDamageState newState, EDamageState previousDamageState, bool isJIP)
static void StopAllAnimations(Widget w)
void AnimateEffectVisibility(notnull ImageWidget effectWidget, float opacity, float alpha, float opacitySpeed=1.0, float alphaSpeed=1.0, bool updateVisibility=true)
void HideSingleEffect(notnull ImageWidget effectWidget)
const float DEATHEFFECT_FADEIN_PROGRESSION_DURACTION
override void DisplayControlledEntityChanged(IEntity from, IEntity to)
const float INSTADEATHEFFECT_FADEIN_PROGRESSION_DURACTION
const float INSTADEATHEFFECT_START_PROGRESSION
const float INSTADEATHEFFECT_FADEIN_OPACITY_DURATION
const float DEATHEFFECT_FADEIN_PROGRESSION_TARGET
const float DEATHEFFECT_FADEIN_OPACITY_TARGET
override void DisplayStartDraw(IEntity owner)
ChimeraCharacter m_pCharacterEntity
const float INSTADEATHEFFECT_START_OPACITY
SCR_CharacterDamageManagerComponent m_pDamageManager
const float DEATHEFFECT_FADEIN_OPACITY_DURATION
EDamageState