Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
rainprocurementcomponent.c
Go to the documentation of this file.
1
class
RainProcurementComponentBase
:
Managed
2
{
3
protected
ItemBase
m_ProcuringItem
;
4
protected
RainProcurementHandler
m_Handler
;
5
protected
bool
m_IsUnderRoof
;
6
protected
bool
m_IsActive
;
7
protected
int
m_UpdateCounter
;
8
protected
const
int
UPDATE_ROOFCHECK_COUNT
= 3;
//do roofcheck every n updates
9
10
void
RainProcurementComponentBase
(
ItemBase
procuringItem)
11
{
12
m_ProcuringItem
= procuringItem;
13
Reset
();
14
m_Handler
=
MissionBaseWorld
.Cast(
g_Game
.GetMission()).GetRainProcurementHandler();
15
}
16
18
void
StartRainProcurement
()
19
{
20
#ifdef SERVER
21
Reset
();
22
SetActive
(
true
);
23
m_Handler
.QueueStart(
this
);
24
#endif
25
}
26
28
void
StopRainProcurement
()
29
{
30
#ifdef SERVER
31
if
(
IsActive
())
32
{
33
SetActive
(
false
);
34
m_Handler
.QueueStop(
this
);
35
}
36
#endif
37
}
38
39
void
OnUpdate
(
float
deltaTime,
float
amount)
40
{
41
m_UpdateCounter
++;
42
if
(
m_UpdateCounter
== 0 ||
m_UpdateCounter
==
UPDATE_ROOFCHECK_COUNT
)
43
{
44
m_UpdateCounter
= 0;
45
UpdateIsUnderRoof
();
46
}
47
ProcureLiquid
(amount);
48
}
49
50
protected
void
Reset
()
51
{
52
m_UpdateCounter
= -1;
53
}
54
55
protected
void
ProcureLiquid
(
float
amountBase,
int
liquidType =
LIQUID_CLEANWATER
)
56
{
57
if
(!
m_IsUnderRoof
)
58
{
59
float
actualAmount = amountBase *
GetBaseLiquidAmount
();
60
Liquid.FillContainerEnviro(
m_ProcuringItem
, liquidType, actualAmount);
61
}
62
}
63
64
protected
void
UpdateIsUnderRoof
()
65
{
66
m_IsUnderRoof
= MiscGameplayFunctions.IsUnderRoof(
m_ProcuringItem
);
67
}
68
70
float
GetBaseLiquidAmount
()
71
{
72
return
GameConstants
.
LIQUID_RAIN_AMOUNT_COEF_BASE
;
73
}
74
75
bool
IsActive
()
76
{
77
return
m_IsActive
;
78
}
79
80
void
SetActive
(
bool
run)
81
{
82
//resets times on start
83
if
(run)
84
Reset
();
85
m_IsActive
= run;
86
}
87
};
88
89
class
RainProcurementComponentBarrel
:
RainProcurementComponentBase
{};
GameConstants
Definition
constants.c:664
ItemBase
Definition
inventoryitem.c:742
Managed
TODO doc.
Definition
enscript.c:118
MissionBaseWorld
Definition
missionbase.c:2
RainProcurementComponentBarrel
Definition
rainprocurementcomponent.c:89
RainProcurementComponentBase::RainProcurementComponentBase
void RainProcurementComponentBase(ItemBase procuringItem)
Definition
rainprocurementcomponent.c:10
RainProcurementComponentBase::Reset
void Reset()
Definition
rainprocurementcomponent.c:50
RainProcurementComponentBase::m_UpdateCounter
int m_UpdateCounter
Definition
rainprocurementcomponent.c:7
RainProcurementComponentBase::m_IsUnderRoof
bool m_IsUnderRoof
Definition
rainprocurementcomponent.c:5
RainProcurementComponentBase::SetActive
void SetActive(bool run)
Definition
rainprocurementcomponent.c:80
RainProcurementComponentBase::m_ProcuringItem
ItemBase m_ProcuringItem
Definition
rainprocurementcomponent.c:3
RainProcurementComponentBase::OnUpdate
void OnUpdate(float deltaTime, float amount)
Definition
rainprocurementcomponent.c:39
RainProcurementComponentBase::m_IsActive
bool m_IsActive
Definition
rainprocurementcomponent.c:6
RainProcurementComponentBase::StopRainProcurement
void StopRainProcurement()
Called on server to queue rain procurement removal (on next cycle end).
Definition
rainprocurementcomponent.c:28
RainProcurementComponentBase::StartRainProcurement
void StartRainProcurement()
Called on server to queue rain procurement (on next cycle end).
Definition
rainprocurementcomponent.c:18
RainProcurementComponentBase::IsActive
bool IsActive()
Definition
rainprocurementcomponent.c:75
RainProcurementComponentBase::ProcureLiquid
void ProcureLiquid(float amountBase, int liquidType=LIQUID_CLEANWATER)
Definition
rainprocurementcomponent.c:55
RainProcurementComponentBase::GetBaseLiquidAmount
float GetBaseLiquidAmount()
override this to get different amount per ProcureLiquid cycle
Definition
rainprocurementcomponent.c:70
RainProcurementComponentBase::UPDATE_ROOFCHECK_COUNT
const int UPDATE_ROOFCHECK_COUNT
Definition
rainprocurementcomponent.c:8
RainProcurementComponentBase::m_Handler
RainProcurementHandler m_Handler
Definition
rainprocurementcomponent.c:4
RainProcurementComponentBase::UpdateIsUnderRoof
void UpdateIsUnderRoof()
Definition
rainprocurementcomponent.c:64
RainProcurementHandler
Definition
rainprocurementhandler.c:2
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
GameConstants::LIQUID_RAIN_AMOUNT_COEF_BASE
const float LIQUID_RAIN_AMOUNT_COEF_BASE
how intensive a snowfall should be to enable snowfall penalty on naked body
Definition
constants.c:793
LIQUID_CLEANWATER
const int LIQUID_CLEANWATER
Definition
constants.c:557
SetActive
void SetActive()
Definition
trapbase.c:404
Games
Dayz
scripts
4_world
classes
rainprocurementcomponent.c
Generated by
1.17.0