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_SalvageVehicleSlotInfo.c
Go to the documentation of this file.
1
class
SCR_SalvageVehicleSlotInfo
:
EntitySlotInfo
2
{
3
[
Attribute
(
"{FD4C5E5CD5C4051A}Prefabs/Vehicles/Core/VehicleSalvageActionEntity.et"
, uiwidget:
UIWidgets
.ResourcePickerThumbnail,
params
:
"et"
,
desc
:
"The entity that is spawned and attached to the vehicle when it is destroyed."
)]
4
protected
ResourceName
m_sSalvageActionEntity
;
5
6
protected
bool
m_bIsListeningToAdditionalSettingsChanged
;
7
8
//------------------------------------------------------------------------------------------------
9
// On vehicle destroyed, spawn the vehicle salvage action
10
void
OnDamageStateChanged
(
EDamageState
state)
11
{
12
// Check if setting is enabled
13
SCR_AdditionalGameModeSettingsComponent
additionalGameSettings =
SCR_AdditionalGameModeSettingsComponent
.GetInstance();
14
if
(!additionalGameSettings)
15
return
;
16
17
if
(state !=
EDamageState
.DESTROYED)
18
return
;
19
20
if
(!additionalGameSettings.IsVehicleSalvageEnabled())
21
{
22
m_bIsListeningToAdditionalSettingsChanged
=
true
;
23
additionalGameSettings.GetOnChangeAdditionalSettingsInvoker().Insert(
OnAdditionalSettingsChanged
);
24
return
;
25
}
26
27
SpawnSalvageEntity
();
28
}
29
30
//------------------------------------------------------------------------------------------------
31
protected
void
OnAdditionalSettingsChanged
()
32
{
33
Vehicle
vehicle =
Vehicle
.Cast(
GetOwner
());
34
if
(!vehicle)
35
return
;
36
37
SCR_DamageManagerComponent damageManager = vehicle.GetDamageManager();
38
if
(!damageManager)
39
return
;
40
41
if
(damageManager.GetState() !=
EDamageState
.DESTROYED)
42
return
;
43
44
SCR_AdditionalGameModeSettingsComponent
additionalGameSettings =
SCR_AdditionalGameModeSettingsComponent
.GetInstance();
45
if
(!additionalGameSettings || !additionalGameSettings.IsVehicleSalvageEnabled())
46
return
;
47
48
m_bIsListeningToAdditionalSettingsChanged
=
false
;
49
additionalGameSettings.GetOnChangeAdditionalSettingsInvoker().Remove(
OnAdditionalSettingsChanged
);
50
51
SpawnSalvageEntity
();
52
}
53
54
//------------------------------------------------------------------------------------------------
55
protected
void
SpawnSalvageEntity
()
56
{
57
Resource
resource =
Resource
.Load(
m_sSalvageActionEntity
);
58
if
(!resource.IsValid())
59
return
;
60
61
IEntity
spawnedEntity =
GetGame
().SpawnEntityPrefab(resource);
62
63
AttachEntity(spawnedEntity);
64
}
65
66
//------------------------------------------------------------------------------------------------
67
void
DelayedInit
()
68
{
69
Vehicle
vehicle =
Vehicle
.Cast(
GetOwner
());
70
if
(!vehicle)
71
return
;
72
73
SCR_DamageManagerComponent damageManager = vehicle.GetDamageManager();
74
if
(!damageManager)
75
return
;
76
77
damageManager.GetOnDamageStateChanged().Insert(
OnDamageStateChanged
);
78
}
79
80
//------------------------------------------------------------------------------------------------
81
void
SCR_SalvageVehicleSlotInfo
()
82
{
83
SCR_BaseGameMode
gameMode =
SCR_BaseGameMode
.Cast(
GetGame
().
GetGameMode
());
84
85
if
((gameMode && !gameMode.
IsMaster
()) || (!gameMode &&
Replication
.IsClient()))
86
return
;
87
88
// This is so the vehicle has time to get created
89
GetGame
().GetCallqueue().CallLater(
DelayedInit
);
90
}
91
92
void
~SCR_SalvageVehicleSlotInfo
()
93
{
94
if
(!
m_bIsListeningToAdditionalSettingsChanged
)
95
return
;
96
97
SCR_AdditionalGameModeSettingsComponent
additionalGameSettings =
SCR_AdditionalGameModeSettingsComponent
.GetInstance();
98
if
(additionalGameSettings)
99
{
100
m_bIsListeningToAdditionalSettingsChanged
=
false
;
101
additionalGameSettings.GetOnChangeAdditionalSettingsInvoker().Remove(
OnAdditionalSettingsChanged
);
102
}
103
}
104
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
SCR_AdditionalGameModeSettingsComponent
void SCR_AdditionalGameModeSettingsComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
Definition
SCR_AdditionalGameModeSettingsComponent.c:356
GetGameMode
SCR_BaseGameMode GetGameMode()
Definition
SCR_BaseGameModeComponent.c:15
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
params
category params
Definition
SCR_SpherePointGeneratorPreviewComponent.c:21
EntitySlotInfo
Adds ability to attach an object to a slot.
Definition
EntitySlotInfo.c:9
IEntity
Definition
IEntity.c:13
Replication
Main replication API.
Definition
Replication.c:14
Resource
Object holding reference to resource. In destructor release the resource.
Definition
Resource.c:25
ResourceName
Definition
ResourceName.c:13
SCR_BaseGameMode
Definition
SCR_BaseGameMode.c:139
SCR_BaseGameMode::IsMaster
sealed bool IsMaster()
Definition
SCR_BaseGameMode.c:367
SCR_SalvageVehicleSlotInfo::m_bIsListeningToAdditionalSettingsChanged
bool m_bIsListeningToAdditionalSettingsChanged
Definition
SCR_SalvageVehicleSlotInfo.c:6
SCR_SalvageVehicleSlotInfo::DelayedInit
void DelayedInit()
Definition
SCR_SalvageVehicleSlotInfo.c:67
SCR_SalvageVehicleSlotInfo::OnAdditionalSettingsChanged
void OnAdditionalSettingsChanged()
Definition
SCR_SalvageVehicleSlotInfo.c:31
SCR_SalvageVehicleSlotInfo::~SCR_SalvageVehicleSlotInfo
void ~SCR_SalvageVehicleSlotInfo()
Definition
SCR_SalvageVehicleSlotInfo.c:92
SCR_SalvageVehicleSlotInfo::m_sSalvageActionEntity
ResourceName m_sSalvageActionEntity
Definition
SCR_SalvageVehicleSlotInfo.c:4
SCR_SalvageVehicleSlotInfo::SpawnSalvageEntity
void SpawnSalvageEntity()
Definition
SCR_SalvageVehicleSlotInfo.c:55
SCR_SalvageVehicleSlotInfo::OnDamageStateChanged
void OnDamageStateChanged(EDamageState state)
Definition
SCR_SalvageVehicleSlotInfo.c:10
SCR_SalvageVehicleSlotInfo::SCR_SalvageVehicleSlotInfo
void SCR_SalvageVehicleSlotInfo()
Definition
SCR_SalvageVehicleSlotInfo.c:81
UIWidgets
Definition
attributes.c:40
Vehicle
enum EPhysicsLayerPresets Vehicle
Definition
gameLib.c:24
GetOwner
IEntity GetOwner()
Owner entity of the fuel tank.
Definition
SCR_FuelNode.c:128
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
EDamageState
EDamageState
Definition
EDamageState.c:13
scripts
Game
Vehicle
SCR_SalvageVehicleSlotInfo.c
Generated by
1.17.0