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_WheeledDamageManagerComponent.c
Go to the documentation of this file.
1
class
SCR_WheeledDamageManagerComponentClass
: SCR_VehicleDamageManagerComponentClass
2
{
3
}
4
5
class
SCR_WheeledDamageManagerComponent :
SCR_VehicleDamageManagerComponent
6
{
7
protected
float
m_fWheelsEfficiency
= 1;
8
9
//------------------------------------------------------------------------------------------------
11
float
GetWheelsEfficiency
()
12
{
13
return
m_fWheelsEfficiency
;
14
}
15
16
//------------------------------------------------------------------------------------------------
17
protected
void
SetWheelsEfficiency
(
float
efficiency)
18
{
19
m_fWheelsEfficiency
= efficiency;
20
}
21
22
//------------------------------------------------------------------------------------------------
23
// Compute current simulation state of vehicle
24
// Called when hitzone damage states change
25
override
void
UpdateVehicleState
()
26
{
27
int
wheelsCount;
28
float
wheelsEfficiency;
29
SCR_WheelHitZone wheelHitZone;
30
31
foreach
(
HitZone
hitZone :
m_aVehicleHitZones
)
32
{
33
wheelHitZone = SCR_WheelHitZone.Cast(hitZone);
34
if
(!wheelHitZone || wheelHitZone.GetWheelIndex() < 0)
35
continue
;
36
37
wheelsCount++;
38
wheelsEfficiency += wheelHitZone.GetEfficiency();
39
}
40
41
if
(wheelsCount > 0)
42
SetWheelsEfficiency
(wheelsEfficiency / wheelsCount);
43
44
super.UpdateVehicleState();
45
}
46
47
//------------------------------------------------------------------------------------------------
48
override
void
UpdateMovementDamage
()
49
{
50
float
movementDamage;
51
52
if
(!
m_bEngineFunctional
)
53
movementDamage = 1;
54
else
55
movementDamage = 1 - (
m_fGearboxEfficiency
*
m_fEngineEfficiency
*
m_fWheelsEfficiency
);
56
57
if
(!
float
.AlmostEqual(movementDamage, GetMovementDamage()))
58
SetMovementDamage(movementDamage);
59
60
VehicleControllerComponent controller = VehicleControllerComponent.Cast(
m_Controller
);
61
if
(controller)
62
controller.SetCanMove(movementDamage < 1);
63
}
64
}
UpdateMovementDamage
override void UpdateMovementDamage()
Definition
SCR_HelicopterDamageManagerComponent.c:118
UpdateVehicleState
override void UpdateVehicleState()
Definition
SCR_HelicopterDamageManagerComponent.c:66
m_fEngineEfficiency
float m_fEngineEfficiency
Definition
SCR_VehicleDamageManagerComponent.c:321
m_aVehicleHitZones
ref array< HitZone > m_aVehicleHitZones
Common vehicle features that will influence its simulation.
Definition
SCR_VehicleDamageManagerComponent.c:317
SCR_VehicleDamageManagerComponent
void SCR_VehicleDamageManagerComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
Definition
SCR_VehicleDamageManagerComponent.c:2166
m_Controller
CompartmentControllerComponent m_Controller
Definition
SCR_VehicleDamageManagerComponent.c:318
m_fGearboxEfficiency
float m_fGearboxEfficiency
Definition
SCR_VehicleDamageManagerComponent.c:324
m_bEngineFunctional
bool m_bEngineFunctional
Definition
SCR_VehicleDamageManagerComponent.c:322
m_fWheelsEfficiency
SCR_WheeledDamageManagerComponentClass m_fWheelsEfficiency
SetWheelsEfficiency
void SetWheelsEfficiency(float efficiency)
Definition
SCR_WheeledDamageManagerComponent.c:17
GetWheelsEfficiency
float GetWheelsEfficiency()
Definition
SCR_WheeledDamageManagerComponent.c:11
HitZone
Definition
HitZone.c:13
SCR_WheeledDamageManagerComponentClass
Definition
SCR_WheeledDamageManagerComponent.c:2
scripts
Game
Components
Damage
SCR_WheeledDamageManagerComponent.c
Generated by
1.17.0