DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ Setup()

override void CAContinuousFertilizeGardenSlot::Setup ( ActionData action_data)
inlineprotected

См. определение в файле CAContinuousFertilizeGardenSlot.c строка 17

18 {
19 GardenBase target_GB;
20 if ( Class.CastTo(target_GB, action_data.m_Target.GetObject() ) )
21 {
23 m_StartQuantity = action_data.m_MainItem.GetQuantity();
24
25 if ( !m_SpentUnits )
26 {
27 m_SpentUnits = new Param1<float>(0);
28 }
29 else
30 {
31 m_SpentUnits.param1 = 0;
32 }
33
34 if ( action_data.m_MainItem )
35 m_ItemQuantity = action_data.m_MainItem.GetQuantity();
36
37 if ( target_GB )
38 {
39 /*string selection = target_GB.GetActionComponentName(action_data.m_Target.GetComponentIndex());
40
41 Slot slot = target_GB.GetSlotBySelection( selection );*/
42
43 array<string> selections = new array<string>;
44 target_GB.GetActionComponentNameList(action_data.m_Target.GetComponentIndex(), selections);
45
46 for (int s = 0; s < selections.Count(); s++)
47 {
48 //string selection = selections[s];
49 m_Selection = selections[s];
50 m_Slot = target_GB.GetSlotBySelection( m_Selection );
51 if (m_Slot)
52 break;
53 }
54
55 string item_type = action_data.m_MainItem.GetType();
56 float consumed_quantity = GetGame().ConfigGetFloat( "cfgVehicles " + item_type + " Horticulture ConsumedQuantity" );
57 float action_length = GetGame().ConfigGetFloat( "cfgVehicles " + item_type + " Horticulture FertilizeLength" );
58 if (action_length == 0)
59 action_length = 1;
60
61 m_Slot.SetFertilizerQuantityMax(consumed_quantity);
62 m_AlreadyFilledAmount = m_Slot.GetFertilizerQuantity();
63 m_SlotFertilizerNeed = consumed_quantity - m_AlreadyFilledAmount;
64 }
65
66 float defaultTimeComplete = consumed_quantity/m_QuantityUsedPerSecond;
67 float speedMultiplier = defaultTimeComplete / action_length;
68 m_QuantityUsedPerSecond *= speedMultiplier;
69 }
70 }
float m_ItemQuantity
Определения CAContinuousQuantity.c:3
ref Param1< float > m_SpentUnits
Определения CAContinuousQuantity.c:8
float m_SpentQuantity
Определения CAContinuousQuantity.c:4
float m_QuantityUsedPerSecond
Определения CAContinuousQuantity.c:6
proto native float ConfigGetFloat(string path)
Get float value from config on path.
proto native CGame GetGame()

Перекрестные ссылки ActionData, Class::CastTo(), CGame::ConfigGetFloat(), GetGame(), m_AlreadyFilledAmount, CAContinuousQuantity::m_ItemQuantity, CAContinuousQuantity::m_QuantityUsedPerSecond, m_Selection, m_Slot, m_SlotFertilizerNeed, CAContinuousQuantity::m_SpentQuantity, CAContinuousQuantity::m_SpentUnits и m_StartQuantity.