Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс CAContinuousFill
+ Граф наследования:CAContinuousFill:

Защищенные члены

void CAContinuousFill (float quantity_filled_per_second, int liquid_type)
 
override void Setup (ActionData action_data)
 
override int Execute (ActionData action_data)
 
override int Cancel (ActionData action_data)
 
override int Interrupt (ActionData action_data)
 
override float GetProgress ()
 
void CalcAndSetQuantity (ActionData action_data)
 

Защищенные данные

float m_TargetUnits
 
float m_SpentQuantity
 
float m_SpentQuantity_total
 
float m_ItemQuantity
 
float m_AdjustedQuantityFilledPerSecond
 
float m_QuantityFilledPerSecond
 
ref Param1< floatm_SpentUnits
 
float m_TimeElpased
 
float m_DefaultTimeStep = 0.25
 
int m_liquid_type
 

Подробное описание

Конструктор(ы)

◆ CAContinuousFill()

void CAContinuousFill ( float quantity_filled_per_second,
int liquid_type )
inlineprotected
15 {
18 }
int m_liquid_type
Definition CAContinuousFill.c:12
float m_QuantityFilledPerSecond
Definition CAContinuousFill.c:8
Definition EntityAI.c:95

Перекрестные ссылки m_liquid_type и m_QuantityFilledPerSecond.

Методы

◆ CalcAndSetQuantity()

void CalcAndSetQuantity ( ActionData action_data)
inlineprotected
109 {
111 if (GetGame().IsServer())
112 {
113 if (m_SpentUnits)
114 {
117 }
118
119 bool injectAgents = true;
120 if (action_data.m_Target.GetObject() && (action_data.m_Target.GetObject().GetWaterSourceObjectType() == EWaterSourceObjectType.WELL || action_data.m_Target.GetObject().IsWell()))
121 injectAgents = false;
122
124 }
125
126 m_SpentQuantity = 0;
127 }
EWaterSourceObjectType
Definition EWaterSourceObjectType.c:2
void SetACData(Param units)
Definition CABase.c:40
float m_SpentQuantity_total
Definition CAContinuousFill.c:5
float m_SpentQuantity
Definition CAContinuousFill.c:4
ref Param1< float > m_SpentUnits
Definition CAContinuousFill.c:9
Definition Liquid.c:2
static void FillContainerEnviro(ItemBase container, int liquid_type, float amount, bool inject_agents=false)
Definition Liquid.c:139
proto native CGame GetGame()

Перекрестные ссылки Liquid::FillContainerEnviro(), GetGame(), m_liquid_type, m_SpentQuantity, m_SpentQuantity_total, m_SpentUnits и CABase::SetACData().

◆ Cancel()

override int Cancel ( ActionData action_data)
inlineprotected
82 {
83 if ( !action_data.m_Player || !action_data.m_MainItem )
84 {
85 return UA_ERROR;
86 }
87
89 return UA_CANCEL;
90 }
void CalcAndSetQuantity()
Definition FireplaceBase.c:2622
const int UA_ERROR
Definition constants.c:455
const int UA_CANCEL
Definition constants.c:437

Перекрестные ссылки CalcAndSetQuantity(), UA_CANCEL и UA_ERROR.

◆ Execute()

override int Execute ( ActionData action_data)
inlineprotected
47 {
48 if ( !action_data.m_Player )
49 {
50 return UA_ERROR;
51 }
52
53 if ( action_data.m_MainItem.GetQuantity() >= action_data.m_MainItem.GetQuantityMax() )
54 {
55 return UA_FINISHED;
56 }
57 else
58 {
60 {
62 m_TimeElpased += action_data.m_Player.GetDeltaT();
63
65 {
67 m_TimeElpased = 0;
68 //Setup(action_data); //reset data after repeat
69 }
70 return UA_PROCESSING;
71 }
72 else
73 {
76 return UA_FINISHED;
77 }
78 }
79 }
void OnCompletePogress(ActionData action_data)
Definition CAContinuousBase.c:8
float m_AdjustedQuantityFilledPerSecond
Definition CAContinuousFill.c:7
float m_DefaultTimeStep
Definition CAContinuousFill.c:11
float m_TargetUnits
Definition CAContinuousFill.c:3
float m_TimeElpased
Definition CAContinuousFill.c:10
const int UA_FINISHED
Definition constants.c:436
const int UA_PROCESSING
Definition constants.c:434

Перекрестные ссылки CalcAndSetQuantity(), m_AdjustedQuantityFilledPerSecond, m_DefaultTimeStep, m_SpentQuantity, m_SpentQuantity_total, m_TargetUnits, m_TimeElpased, CAContinuousBase::OnCompletePogress(), UA_ERROR, UA_FINISHED и UA_PROCESSING.

◆ GetProgress()

override float GetProgress ( )
inlineprotected
103 {
105 }

Перекрестные ссылки m_SpentQuantity_total и m_TargetUnits.

◆ Interrupt()

override int Interrupt ( ActionData action_data)
inlineprotected
93 {
94 if ( GetGame().IsServer() )
95 {
96 action_data.m_Player.GetSoftSkillsManager().AddSpecialty( UASoftSkillsWeight.PRECISE_LOW );
97 }
98
99 return super.Interrupt( action_data );
100 }
Definition ActionConstants.c:119
const float PRECISE_LOW
Definition ActionConstants.c:123

Перекрестные ссылки GetGame() и UASoftSkillsWeight::PRECISE_LOW.

◆ Setup()

override void Setup ( ActionData action_data)
inlineprotected
21 {
22 m_TimeElpased = 0;
23
24 if ( !m_SpentUnits )
25 {
27 }
28 else
29 {
30 m_SpentUnits.param1 = 0;
31 }
32
33 float throughputCoef = action_data.m_MainItem.GetLiquidThroughputCoef();
35 if (action_data.m_Target && action_data.m_Target.GetObject() && Class.CastTo(entity,action_data.m_Target.GetObject()))
36 {
37 throughputCoef = Math.Min(throughputCoef,entity.GetLiquidThroughputCoef());
38 }
40
41 m_ItemQuantity = action_data.m_MainItem.GetQuantity();
42 m_TargetUnits = action_data.m_MainItem.GetQuantityMax() - action_data.m_MainItem.GetQuantity();
43 m_AdjustedQuantityFilledPerSecond = action_data.m_Player.GetSoftSkillsManager().AddSpecialtyBonus( m_QuantityFilledPerSecond, m_Action.GetSpecialtyWeight(), true );
44 }
ActionBase m_Action
Definition CABase.c:3
float m_ItemQuantity
Definition CAContinuousFill.c:6
Super root of all classes in Enforce script.
Definition EnScript.c:11
Definition Building.c:6
Definition EnMath.c:7
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static proto float Min(float x, float y)
Returns smaller of two given values.

Перекрестные ссылки Class::CastTo(), CABase::m_Action, m_AdjustedQuantityFilledPerSecond, m_ItemQuantity, m_QuantityFilledPerSecond, m_SpentUnits, m_TargetUnits, m_TimeElpased и Math::Min().

Поля

◆ m_AdjustedQuantityFilledPerSecond

float m_AdjustedQuantityFilledPerSecond
protected

◆ m_DefaultTimeStep

float m_DefaultTimeStep = 0.25
protected

Используется в Execute() и CAContinuousFillPowerGenerator::Execute().

◆ m_ItemQuantity

float m_ItemQuantity
protected

Используется в Setup() и CAContinuousFillPowerGenerator::Setup().

◆ m_liquid_type

◆ m_QuantityFilledPerSecond

◆ m_SpentQuantity

◆ m_SpentQuantity_total

◆ m_SpentUnits

◆ m_TargetUnits

◆ m_TimeElpased


Объявления и описания членов класса находятся в файле: