Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
cacontinuousempty.c
Go to the documentation of this file.
1
class
CAContinuousEmpty
:
CAContinuousBase
2
{
3
protected
float
m_TargetUnits
;
4
protected
float
m_SpentQuantity
;
5
protected
float
m_SpentQuantity_total
;
6
protected
float
m_AdjustedQuantityEmptiedPerSecond
;
7
protected
float
m_QuantityEmptiedPerSecond
;
8
protected
bool
m_WringingClothes
;
9
protected
ref Param1<float>
m_SpentUnits
;
10
protected
float
m_TimeElpased
;
11
protected
float
m_DefaultTimeStep
= 0.25;
12
13
void
CAContinuousEmpty
(
float
quantity_emptied_per_second )
14
{
15
m_QuantityEmptiedPerSecond
= quantity_emptied_per_second;
16
}
17
18
override
void
Setup
(
ActionData
action_data )
19
{
20
if
( !
m_SpentUnits
)
21
{
22
m_SpentUnits
=
new
Param1<float>(0);
23
}
24
else
25
{
26
m_SpentUnits
.param1 = 0;
27
}
28
29
if
( action_data.m_MainItem.IsClothing() )
30
{
31
m_WringingClothes
=
true
;
32
33
m_SpentQuantity
= action_data.m_MainItem.GetWetMax() - action_data.m_MainItem.GetWet();
34
m_TargetUnits
= action_data.m_MainItem.GetWetMax();
35
}
36
else
37
{
38
m_WringingClothes
=
false
;
39
40
m_SpentQuantity
= action_data.m_MainItem.GetQuantityMin();
41
m_TargetUnits
= action_data.m_MainItem.GetQuantity();
42
}
43
44
m_AdjustedQuantityEmptiedPerSecond
=
m_QuantityEmptiedPerSecond
;
//removed softskills
45
}
46
47
override
int
Execute
(
ActionData
action_data )
48
{
49
if
( !action_data.m_Player )
50
{
51
return
UA_ERROR
;
52
}
53
54
if
(
m_WringingClothes
&& action_data.m_MainItem.GetWet() >= action_data.m_MainItem.GetWetMax() )
55
{
56
return
UA_FINISHED
;
57
}
58
else
59
{
60
if
(
m_SpentQuantity_total
<=
m_TargetUnits
)
61
{
62
m_SpentQuantity
+=
m_AdjustedQuantityEmptiedPerSecond
* action_data.m_Player.GetDeltaT();
63
m_TimeElpased
+= action_data.m_Player.GetDeltaT();
64
65
if
(
m_TimeElpased
>=
m_DefaultTimeStep
)
66
{
67
CalcAndSetQuantity
( action_data );
68
m_TimeElpased
= 0;
69
}
70
return
UA_PROCESSING
;
71
}
72
else
73
{
74
CalcAndSetQuantity
( action_data );
75
OnCompletePogress
(action_data);
76
return
UA_FINISHED
;
77
}
78
}
79
}
80
81
override
int
Cancel
(
ActionData
action_data )
82
{
83
if
( !action_data.m_Player || !action_data.m_MainItem )
84
{
85
return
UA_ERROR
;
86
}
87
88
CalcAndSetQuantity
( action_data );
89
return
UA_CANCEL
;
90
}
91
92
override
float
GetProgress
()
93
{
94
return
m_SpentQuantity_total
/
m_TargetUnits
;
95
}
96
97
//---------------------------------------------------------------------------
98
99
void
CalcAndSetQuantity
(
ActionData
action_data )
100
{
101
m_SpentQuantity_total
+=
m_SpentQuantity
;
102
if
(
g_Game
.IsServer())
103
{
104
if
(
m_SpentUnits
)
105
{
106
m_SpentUnits
.param1 =
m_SpentQuantity
;
107
SetACData
(
m_SpentUnits
);
108
}
109
110
if
(action_data.m_MainItem.GetQuantity() > 0.0)
111
action_data.m_MainItem.AddQuantity(-
m_SpentQuantity
);
112
}
113
m_SpentQuantity
= 0;
114
}
115
};
ActionData
ActionBase ActionData
Definition
actionbase.c:30
CABase::SetACData
void SetACData(Param units)
Definition
cabase.c:40
CAContinuousBase
Definition
cacontinuousbase.c:2
CAContinuousBase::OnCompletePogress
void OnCompletePogress(ActionData action_data)
Definition
cacontinuousbase.c:8
CAContinuousEmpty::Cancel
override int Cancel(ActionData action_data)
Definition
cacontinuousempty.c:81
CAContinuousEmpty::m_AdjustedQuantityEmptiedPerSecond
float m_AdjustedQuantityEmptiedPerSecond
Definition
cacontinuousempty.c:6
CAContinuousEmpty::CAContinuousEmpty
void CAContinuousEmpty(float quantity_emptied_per_second)
Definition
cacontinuousempty.c:13
CAContinuousEmpty::m_DefaultTimeStep
float m_DefaultTimeStep
Definition
cacontinuousempty.c:11
CAContinuousEmpty::Execute
override int Execute(ActionData action_data)
Definition
cacontinuousempty.c:47
CAContinuousEmpty::m_SpentQuantity_total
float m_SpentQuantity_total
Definition
cacontinuousempty.c:5
CAContinuousEmpty::GetProgress
override float GetProgress()
Definition
cacontinuousempty.c:92
CAContinuousEmpty::m_SpentQuantity
float m_SpentQuantity
Definition
cacontinuousempty.c:4
CAContinuousEmpty::CalcAndSetQuantity
void CalcAndSetQuantity(ActionData action_data)
Definition
cacontinuousempty.c:99
CAContinuousEmpty::m_WringingClothes
bool m_WringingClothes
Definition
cacontinuousempty.c:8
CAContinuousEmpty::m_SpentUnits
ref Param1< float > m_SpentUnits
Definition
cacontinuousempty.c:9
CAContinuousEmpty::m_TargetUnits
float m_TargetUnits
Definition
cacontinuousempty.c:3
CAContinuousEmpty::m_TimeElpased
float m_TimeElpased
Definition
cacontinuousempty.c:10
CAContinuousEmpty::Setup
override void Setup(ActionData action_data)
Definition
cacontinuousempty.c:18
CAContinuousEmpty::m_QuantityEmptiedPerSecond
float m_QuantityEmptiedPerSecond
Definition
cacontinuousempty.c:7
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
CalcAndSetQuantity
void CalcAndSetQuantity()
Definition
fireplacebase.c:2659
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
UA_CANCEL
const int UA_CANCEL
Definition
constants.c:470
Games
Dayz
scripts
4_world
classes
useractionscomponent
actioncomponents
cacontinuousempty.c
Generated by
1.17.0