DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
CAContinuousQuantityRepeat.c
См. документацию.
2{
3 protected float m_ItemQuantity;
4 protected float m_SpentQuantity;
5 protected float m_ItemMaxQuantity;
6 protected float m_TimeElpased;
7 protected float m_QuantityUsedPerSecond;
9 protected float m_DefaultTimeToRepeat;
10 protected ref Param1<float> m_SpentUnits;
11
12 void CAContinuousQuantityRepeat( float quantity_used_per_second, float time_to_repeat )
13 {
14 m_QuantityUsedPerSecond = quantity_used_per_second;
15 m_DefaultTimeToRepeat = time_to_repeat;
16 }
17
18 override void Setup( ActionData action_data )
19 {
20 m_TimeElpased = 0;
22
23 if ( !m_SpentUnits )
24 {
25 m_SpentUnits = new Param1<float>( 0 );
26 }
27 else
28 {
29 m_SpentUnits.param1 = 0;
30 }
31
32 m_ItemMaxQuantity = action_data.m_MainItem.GetQuantityMax();
33 m_ItemQuantity = action_data.m_MainItem.GetQuantity();
34 }
35
36
37 override int Execute( ActionData action_data )
38 {
39 if ( !action_data.m_Player )
40 {
41 return UA_ERROR;
42 }
43
44 if ( m_ItemQuantity <= 0 )
45 {
46 return UA_FINISHED;
47 }
48 else
49 {
51 {
53 m_SpentQuantity += m_AdjustedQuantityUsedPerSecond * action_data.m_Player.GetDeltaT();
54 m_TimeElpased += action_data.m_Player.GetDeltaT();
55
57 {
58 CalcAndSetQuantity( action_data );
59 Setup(action_data); //reset data after repeat
60 OnCompletePogress(action_data);
61 }
62
63 return UA_PROCESSING;
64 }
65 else
66 {
67 CalcAndSetQuantity( action_data );
68 OnCompletePogress(action_data);
69 return UA_FINISHED;
70 }
71 }
72 }
73
74 override int Cancel( ActionData action_data )
75 {
76 if ( !action_data.m_Player )
77 {
78 return UA_ERROR;
79 }
80
81 return UA_CANCEL;
82 }
83
84 override float GetProgress()
85 {
86 //float progress = ( m_ItemQuantity - m_SpentQuantity ) / m_ItemMaxQuantity;
88 }
89
90 //---------------------------------------------------------------------------
91
92
93 void CalcAndSetQuantity( ActionData action_data )
94 {
95 if ( g_Game.IsServer() )
96 {
97 if ( m_SpentUnits )
98 {
101 }
102
103 action_data.m_MainItem.AddQuantity( -m_SpentQuantity, false, false );
104 }
105 }
106}
DayZGame g_Game
Определения DayZGame.c:4074
void CalcAndSetQuantity()
Определения FireplaceBase.c:2670
PlayerBase m_Player
Определения ActionBase.c:40
ItemBase m_MainItem
Определения ActionBase.c:35
Определения ActionBase.c:22
void SetACData(Param units)
Определения CABase.c:40
void OnCompletePogress(ActionData action_data)
Определения CAContinuousBase.c:8
override void Setup(ActionData action_data)
Определения CAContinuousQuantityRepeat.c:18
override float GetProgress()
Определения CAContinuousQuantityRepeat.c:84
float m_AdjustedQuantityUsedPerSecond
Определения CAContinuousQuantityRepeat.c:8
void CalcAndSetQuantity(ActionData action_data)
Определения CAContinuousQuantityRepeat.c:93
override int Cancel(ActionData action_data)
Определения CAContinuousQuantityRepeat.c:74
ref Param1< float > m_SpentUnits
Определения CAContinuousQuantityRepeat.c:10
override int Execute(ActionData action_data)
Определения CAContinuousQuantityRepeat.c:37
void CAContinuousQuantityRepeat(float quantity_used_per_second, float time_to_repeat)
Определения CAContinuousQuantityRepeat.c:12
class Test Setup
Stage definition used in conjunction with Step attribute.
const int UA_FINISHED
Определения 3_Game/DayZ/constants.c:498
const int UA_ERROR
Определения 3_Game/DayZ/constants.c:519
const int UA_PROCESSING
Определения 3_Game/DayZ/constants.c:496
const int UA_CANCEL
Определения 3_Game/DayZ/constants.c:499