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

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

void CAContinuousDisinfectPlant (float quantity_used_per_second)
 
override void Setup (ActionData action_data)
 
override int Execute (ActionData action_data)
 
override float GetProgress ()
 

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

float m_PlantNeededSpraying
 
float m_TimeToComplete
 
float m_SpentQuantityTotal
 
float m_StartQuantity
 
PlantBase m_Plant
 

Дополнительные унаследованные члены

- Закрытые члены унаследованные от CAContinuousQuantity
void CAContinuousQuantity (float quantity_used_per_second)
 
override void Setup (ActionData action_data)
 
override int Execute (ActionData action_data)
 
override int Cancel (ActionData action_data)
 
override float GetProgress ()
 
void CalcAndSetQuantity (ActionData action_data)
 
- Закрытые данные унаследованные от CAContinuousQuantity
float m_ItemQuantity
 
float m_SpentQuantity
 
float m_ItemMaxQuantity
 
float m_QuantityUsedPerSecond
 
float m_AdjustedQuantityUsedPerSecond
 
ref Param1< floatm_SpentUnits
 

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

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

◆ CAContinuousDisinfectPlant()

void CAContinuousDisinfectPlant ( float quantity_used_per_second)
inlineprotected
10 {
12 }
float m_QuantityUsedPerSecond
Definition CAContinuousQuantity.c:6
Definition EntityAI.c:95

Перекрестные ссылки CAContinuousQuantity::m_QuantityUsedPerSecond.

Методы

◆ Execute()

override int Execute ( ActionData action_data)
inlineprotected
90 {
91 Object targetObject = action_data.m_Target.GetObject();
92
93 if ( !action_data.m_Player )
94 {
95 return UA_ERROR;
96 }
97
98 if ( m_ItemQuantity <= 0 )
99 {
100 return UA_FINISHED;
101 }
102 else
103 {
105 {
106 m_SpentQuantity += m_QuantityUsedPerSecond * action_data.m_Player.GetDeltaT();
107 float transfered_spray = action_data.m_Player.GetSoftSkillsManager().AddSpecialtyBonus( m_SpentQuantity, m_Action.GetSpecialtyWeight(), true );
108
110
111 if ( m_Action )
112 {
113 /*PlantBase plant;
114 Class.CastTo(plant, targetObject );*/
115 m_Plant.SprayPlant(transfered_spray);
116 //m_Action.SendMessageToClient(action_data.m_Player, plant.StopInfestation( transfered_spray ));
117 }
118
120
121 return UA_PROCESSING;
122 }
123 else
124 {
127 return UA_FINISHED;
128 }
129 }
130 }
void CalcAndSetQuantity()
Definition FireplaceBase.c:2622
ActionBase m_Action
Definition CABase.c:3
void OnCompletePogress(ActionData action_data)
Definition CAContinuousBase.c:8
PlantBase m_Plant
Definition CAContinuousDisinfectPlant.c:7
float m_SpentQuantityTotal
Definition CAContinuousDisinfectPlant.c:5
float m_PlantNeededSpraying
Definition CAContinuousDisinfectPlant.c:3
float m_SpentQuantity
Definition CAContinuousQuantity.c:4
float m_ItemQuantity
Definition CAContinuousQuantity.c:3
Definition ObjectTyped.c:2
const int UA_FINISHED
Definition constants.c:436
const int UA_ERROR
Definition constants.c:455
const int UA_PROCESSING
Definition constants.c:434

Перекрестные ссылки CalcAndSetQuantity(), CABase::m_Action, CAContinuousQuantity::m_ItemQuantity, m_Plant, m_PlantNeededSpraying, CAContinuousQuantity::m_QuantityUsedPerSecond, CAContinuousQuantity::m_SpentQuantity, m_SpentQuantityTotal, CAContinuousBase::OnCompletePogress(), UA_ERROR, UA_FINISHED и UA_PROCESSING.

◆ GetProgress()

override float GetProgress ( )
inlineprotected
133 {
134 //return (m_SpentQuantity*m_QuantityUsedPerSecond)/m_TimeToComplete;
136 }
float m_StartQuantity
Definition CAContinuousDisinfectPlant.c:6

Перекрестные ссылки m_SpentQuantityTotal и m_StartQuantity.

◆ Setup()

override void Setup ( ActionData action_data)
inlineprotected
15 {
17 ActionTarget target = action_data.m_Target;
18 if ( Class.CastTo(garden_base, target.GetObject()))
19 {
20 Slot slot;
21
23 garden_base.GetActionComponentNameList(target.GetComponentIndex(), selections);
24 string selection;
25
26 for (int s = 0; s < selections.Count(); s++)
27 {
28 selection = selections[s];
29 slot = garden_base.GetSlotBySelection( selection );
30 if (slot)
31 break;
32 }
33
34 if ( slot && slot.GetPlant() )
35 {
36 m_Plant = PlantBase.Cast(slot.GetPlant());
37 if ( m_Plant )
38 {
40 m_StartQuantity = action_data.m_MainItem.GetQuantity();
41 if ( !m_SpentUnits )
42 {
44 }
45 else
46 {
47 m_SpentUnits.param1 = 0;
48 }
49 if ( action_data.m_MainItem )
50 {
51 m_ItemQuantity = action_data.m_MainItem.GetQuantity();
52 }
53 if ( m_Plant )
54 {
55 m_PlantNeededSpraying = m_Plant.GetSprayUsage() - m_Plant.GetSprayQuantity();
56 }
57
59 }
60 }
61 }
62
63 /*PlantBase target_PB;
64 if (Class.CastTo(target_PB, action_data.m_Target.GetObject()))
65 {
66 m_SpentQuantity = 0;
67 m_StartQuantity = action_data.m_MainItem.GetQuantity();
68 if ( !m_SpentUnits )
69 {
70 m_SpentUnits = new Param1<float>(0);
71 }
72 else
73 {
74 m_SpentUnits.param1 = 0;
75 }
76 if ( action_data.m_MainItem )
77 {
78 m_ItemQuantity = action_data.m_MainItem.GetQuantity();
79 }
80 if ( target_PB )
81 {
82 m_PlantNeededSpraying = target_PB.GetSprayUsage() - target_PB.GetSprayQuantity();
83 }
84
85 m_TimeToComplete = (Math.Min(m_PlantNeededSpraying,m_ItemQuantity))/m_QuantityUsedPerSecond;
86 }*/
87 }
float m_TimeToComplete
Definition CAContinuousDisinfectPlant.c:4
ref Param1< float > m_SpentUnits
Definition CAContinuousQuantity.c:8
Super root of all classes in Enforce script.
Definition EnScript.c:11
Definition GardenPlot.c:2
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(), CAContinuousQuantity::m_ItemQuantity, m_Plant, m_PlantNeededSpraying, CAContinuousQuantity::m_QuantityUsedPerSecond, CAContinuousQuantity::m_SpentQuantity, CAContinuousQuantity::m_SpentUnits, m_StartQuantity, m_TimeToComplete и Math::Min().

Поля

◆ m_Plant

PlantBase m_Plant
protected

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

◆ m_PlantNeededSpraying

float m_PlantNeededSpraying
protected

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

◆ m_SpentQuantityTotal

float m_SpentQuantityTotal
protected

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

◆ m_StartQuantity

float m_StartQuantity
protected

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

◆ m_TimeToComplete

float m_TimeToComplete
protected

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


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