Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_ScenarioFrameworkTaskKill.c
Go to the documentation of this file.
4
6{
7
8 //------------------------------------------------------------------------------------------------
10 void OnObjectDamage(EDamageState state)
11 {
12 if (state != EDamageState.DESTROYED || !m_Asset)
13 return;
14
15 SCR_DamageManagerComponent objectDmgManager = SCR_DamageManagerComponent.GetDamageManager(m_Asset);
16 if (objectDmgManager)
17 objectDmgManager.GetOnDamageStateChanged().Remove(OnObjectDamage);
18
19 m_LayerTask.ProcessLayerTaskState(SCR_ETaskState.COMPLETED);
20 }
21
22 //------------------------------------------------------------------------------------------------
23 void OnGroupEmpty(AIGroup group)
24 {
25 SCR_AIGroup aiGroup = SCR_AIGroup.Cast(group);
26 if (!aiGroup)
27 return;
28
29 aiGroup.GetOnEmpty().Remove(OnGroupEmpty);
30 m_LayerTask.ProcessLayerTaskState(SCR_ETaskState.COMPLETED);
31 }
32
33 //------------------------------------------------------------------------------------------------
36 override void HookTaskAsset(IEntity object)
37 {
38 if (!object)
39 return;
40
41 super.HookTaskAsset(object);
42
43 SCR_AIGroup group = SCR_AIGroup.Cast(m_Asset);
44 if (!group)
45 {
46 SCR_DamageManagerComponent objectDmgManager = SCR_DamageManagerComponent.GetDamageManager(m_Asset);
47 if (objectDmgManager)
48 objectDmgManager.GetOnDamageStateChanged().Insert(OnObjectDamage);
49 }
50 else
51 {
52 group.GetOnEmpty().Insert(OnGroupEmpty);
53 }
54 }
55}
SCR_ETaskState
Definition SCR_Task.c:3
ScriptInvoker_AIGroupOnEmpty GetOnEmpty()
SCR_ScenarioFrameworkLayerTask m_LayerTask
EDamageState