Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
cacontinuousfillpowergenerator.c
Go to the documentation of this file.
1
class
CAContinuousFillPowerGenerator
:
CAContinuousFill
2
{
3
void
CAContinuousFillPowerGenerator
(
float
quantity_filled_per_second ,
int
liquid_type )
4
{
5
m_QuantityFilledPerSecond
= quantity_filled_per_second;
6
m_liquid_type
= liquid_type;
7
}
8
9
override
void
Setup
(
ActionData
action_data )
10
{
11
m_TimeElpased
= 0;
12
13
if
( !
m_SpentUnits
)
14
{
15
m_SpentUnits
=
new
Param1<float>(0);
16
}
17
else
18
{
19
m_SpentUnits
.param1 = 0;
20
}
21
22
EntityAI
pg =
EntityAI
.Cast(action_data.m_Target.GetObject());
// get power generator
23
m_QuantityFilledPerSecond
*=
Math
.
Min
(action_data.m_MainItem.GetLiquidThroughputCoef(),pg.GetLiquidThroughputCoef());
24
25
m_ItemQuantity
= action_data.m_MainItem.GetQuantity();
26
m_TargetUnits
= pg.GetCompEM().GetEnergyMax() - pg.GetCompEM().GetEnergy();
27
m_AdjustedQuantityFilledPerSecond
=
m_QuantityFilledPerSecond
;
//removed softskills
28
}
29
30
override
int
Execute
(
ActionData
action_data )
31
{
32
if
( !action_data.m_Player )
33
{
34
return
UA_ERROR
;
35
}
36
37
PowerGeneratorBase pg = PowerGeneratorBase.Cast(action_data.m_Target.GetObject());
// get power generator
38
39
if
( pg.GetFuel() >= pg.GetMaxFuel() )
40
{
41
return
UA_FINISHED
;
42
}
43
else
44
{
45
if
(
m_SpentQuantity_total
<
m_TargetUnits
)
46
{
47
m_SpentQuantity
+=
m_AdjustedQuantityFilledPerSecond
* action_data.m_Player.GetDeltaT();
48
m_TimeElpased
+= action_data.m_Player.GetDeltaT();
49
50
if
(
m_TimeElpased
>=
m_DefaultTimeStep
)
51
{
52
CalcAndSetQuantity
( action_data );
53
m_TimeElpased
= 0;
54
//Setup(action_data); //reset data after repeat
55
}
56
return
UA_PROCESSING
;
57
}
58
else
59
{
60
CalcAndSetQuantity
( action_data );
61
OnCompletePogress
(action_data);
62
return
UA_FINISHED
;
63
}
64
}
65
}
66
67
override
void
CalcAndSetQuantity
(
ActionData
action_data )
68
{
69
m_SpentQuantity_total
+=
m_SpentQuantity
;
70
71
if
(
m_SpentUnits
)
72
{
73
m_SpentUnits
.param1 =
m_SpentQuantity
;
74
SetACData
(
m_SpentUnits
);
75
}
76
77
78
if
(
g_Game
.IsServer() )
79
{
80
PowerGeneratorBase pg = PowerGeneratorBase.Cast(action_data.m_Target.GetObject());
// get power generator
81
int
consumed_fuel = pg.AddFuel(
m_SpentQuantity
);
82
action_data.m_MainItem.AddQuantity( -consumed_fuel );
83
}
84
85
m_SpentQuantity
= 0;
86
}
87
};
ActionData
ActionBase ActionData
Definition
actionbase.c:30
CABase::SetACData
void SetACData(Param units)
Definition
cabase.c:40
CAContinuousBase::OnCompletePogress
void OnCompletePogress(ActionData action_data)
Definition
cacontinuousbase.c:8
CAContinuousFill::m_AdjustedQuantityFilledPerSecond
float m_AdjustedQuantityFilledPerSecond
Definition
cacontinuousfill.c:7
CAContinuousFill::m_DefaultTimeStep
float m_DefaultTimeStep
Definition
cacontinuousfill.c:11
CAContinuousFill::m_liquid_type
int m_liquid_type
Definition
cacontinuousfill.c:12
CAContinuousFill::CAContinuousFill
void CAContinuousFill(float quantity_filled_per_second, int liquid_type)
Definition
cacontinuousfill.c:14
CAContinuousFill::m_SpentQuantity_total
float m_SpentQuantity_total
Definition
cacontinuousfill.c:5
CAContinuousFill::m_SpentQuantity
float m_SpentQuantity
Definition
cacontinuousfill.c:4
CAContinuousFill::m_QuantityFilledPerSecond
float m_QuantityFilledPerSecond
Definition
cacontinuousfill.c:8
CAContinuousFill::m_ItemQuantity
float m_ItemQuantity
Definition
cacontinuousfill.c:6
CAContinuousFill::m_SpentUnits
ref Param1< float > m_SpentUnits
Definition
cacontinuousfill.c:9
CAContinuousFill::m_TargetUnits
float m_TargetUnits
Definition
cacontinuousfill.c:3
CAContinuousFill::m_TimeElpased
float m_TimeElpased
Definition
cacontinuousfill.c:10
CAContinuousFillPowerGenerator::Execute
override int Execute(ActionData action_data)
Definition
cacontinuousfillpowergenerator.c:30
CAContinuousFillPowerGenerator::CAContinuousFillPowerGenerator
void CAContinuousFillPowerGenerator(float quantity_filled_per_second, int liquid_type)
Definition
cacontinuousfillpowergenerator.c:3
CAContinuousFillPowerGenerator::CalcAndSetQuantity
override void CalcAndSetQuantity(ActionData action_data)
Definition
cacontinuousfillpowergenerator.c:67
CAContinuousFillPowerGenerator::Setup
override void Setup(ActionData action_data)
Definition
cacontinuousfillpowergenerator.c:9
EntityAI
Definition
inventoryitem.c:2
Math
Definition
enmath.c:7
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
CalcAndSetQuantity
void CalcAndSetQuantity()
Definition
fireplacebase.c:2659
Math::Min
static proto float Min(float x, float y)
Returns smaller of two given values.
UA_FINISHED
const int UA_FINISHED
Definition
constants.c:469
UA_ERROR
const int UA_ERROR
Definition
constants.c:488
UA_PROCESSING
const int UA_PROCESSING
Definition
constants.c:467
Games
Dayz
scripts
4_world
classes
useractionscomponent
actioncomponents
cacontinuousfillpowergenerator.c
Generated by
1.17.0