Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_FuelEditorAttribute.c
Go to the documentation of this file.
1
6{
7 //------------------------------------------------------------------------------------------------
8 protected SCR_EFuelNodeTypeFlag GetFuelNodeFlags()
9 {
10 return 0;
11 }
12
13 //------------------------------------------------------------------------------------------------
14 protected SCR_EFuelNodeTypeFlag GetFuelNodeIgnoreFlags()
15 {
16 return SCR_EFuelNodeTypeFlag.IS_FUEL_STORAGE;
17 }
18
19 //------------------------------------------------------------------------------------------------
20 override SCR_BaseEditorAttributeVar ReadVariable(Managed item, SCR_AttributesManagerEditorComponent manager)
21 {
23 if (!editableEntity)
24 return null;
25
26 IEntity owner = editableEntity.GetOwner();
27 if (!owner)
28 return null;
29
30 //Don't show if destroyed
32 if (damageComponent && damageComponent.GetState() == EDamageState.DESTROYED)
33 return null;
34
35 //~ Get all fuel managers
36 array<SCR_FuelManagerComponent> fuelManagers = {};
37 SCR_FuelManagerComponent.GetAllFuelManagers(owner, fuelManagers);
38 if (fuelManagers.IsEmpty())
39 return null;
40
41 float totalFuel, maxFuel, fuelPercentage;
42 SCR_FuelManagerComponent.GetTotalValuesOfFuelNodesOfFuelManagers(fuelManagers, totalFuel, maxFuel, fuelPercentage, GetFuelNodeFlags(), GetFuelNodeIgnoreFlags());
43 if (maxFuel <= 0)
44 return null;
45
46 return SCR_BaseEditorAttributeVar.CreateFloat(Math.Round(fuelPercentage * 100));
47 }
48
49 //------------------------------------------------------------------------------------------------
50 override void WriteVariable(Managed item, SCR_BaseEditorAttributeVar var, SCR_AttributesManagerEditorComponent manager, int playerID)
51 {
52 if (!var)
53 return;
54
56 IEntity owner = editableEntity.GetOwner();
57 if (!owner)
58 return;
59
61 if (damageComponent && damageComponent.GetState() == EDamageState.DESTROYED)
62 return;
63
64 array<SCR_FuelManagerComponent> fuelManagers = {};
65 SCR_FuelManagerComponent.GetAllFuelManagers(owner, fuelManagers);
66 if (fuelManagers.IsEmpty())
67 return;
68
69 SCR_FuelManagerComponent.SetTotalFuelPercentageOfFuelManagers(fuelManagers, var.GetFloat() * 0.01, GetFuelNodeFlags(), GetFuelNodeIgnoreFlags());
70 }
71};
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
void SCR_FuelManagerComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
proto external Managed FindComponent(typename typeName)
Definition Math.c:13
static SCR_BaseEditorAttributeVar CreateFloat(float value)
override void WriteVariable(Managed item, SCR_BaseEditorAttributeVar var, SCR_AttributesManagerEditorComponent manager, int playerID)
SCR_EFuelNodeTypeFlag GetFuelNodeIgnoreFlags()
override SCR_BaseEditorAttributeVar ReadVariable(Managed item, SCR_AttributesManagerEditorComponent manager)
SCR_EFuelNodeTypeFlag GetFuelNodeFlags()
EDamageState