17 static const int STATE_DIGGED = 1;
18 static const int STATE_PLANTED = 2;
20 private int m_WaterQuantity;
21 static private int m_WaterNeeded = 190;
22 static private int m_WaterMax = 200;
25 float m_FertilizerUsage;
26 float m_FertilizerQuantity;
27 float m_FertilizerQuantityMax;
31 string m_FertilizerType;
33 int m_WateredState = eWateredState.DRY;
34 string m_DiggedSlotComponent;
37 private GardenBase m_Garden;
39 float m_HarvestingEfficiency;
45 void Slot(
float base_fertility )
49 m_WaterQuantity = 0.0;
50 Init( base_fertility );
66 void SetSlotIndex(
int index)
76 void SetSlotId(
int id)
81 void SetGarden(GardenBase garden)
112 void SetWater(
int val )
114 val = Math.Clamp( val, 0, m_WaterMax );
115 m_WaterQuantity = val;
131 void GiveWater(
float consumed_quantity )
134 m_WaterQuantity += consumed_quantity;
139 if (m_WaterQuantity < 0)
145 if (!GetPlant() && GetSeed() && !
NeedsWater())
150 SetWateredState( eWateredState.WET );
151 if ( m_Garden.GetSlotWateredState() != m_Garden.GetMaxWaterStateVal() )
152 m_Garden.SlotWaterStateUpdate(
this );
158 if ( m_WaterQuantity < GetWaterUsage() )
182 return m_WaterQuantity;
190 float GetFertilityMax()
192 return m_FertilizerUsage;
195 void SetFertility(
float fertility)
197 m_Fertility = fertility;
200 float GetFertilizerQuantity()
202 return m_FertilizerQuantity;
205 void SetFertilizerQuantity(
float fertility)
207 m_FertilizerQuantity = fertility;
210 float GetFertilizerQuantityMax()
212 return m_FertilizerQuantityMax;
215 void SetFertilizerQuantityMax(
float quantMax)
217 m_FertilizerQuantityMax = quantMax;
221 string GetFertilityType()
223 return m_FertilizerType;
226 void SetFertilityType(
string type)
228 m_FertilizerType = type;
231 int GetFertilityState()
233 return m_FertilityState;
236 void SetFertilityState(
int newState )
238 m_FertilityState = newState;
241 int GetWateredState()
243 return m_WateredState;
246 void SetWateredState(
int newState )
248 m_WateredState = newState;
249 if ( m_WateredState == eWateredState.WET )
253 float GetWaterUsage()
255 return m_WaterNeeded;
292 void Init(
float base_fertility )
294 m_Fertility = base_fertility;
295 m_FertilizerUsage = 200;
296 m_FertilizerQuantity = 0.0;
297 m_FertilizerType =
"";
301 m_WateredState = eWateredState.DRY;
303 m_HarvestingEfficiency = 1.0;
314 string GetSlotComponent()
316 return m_DiggedSlotComponent;
323 ctx.
Read( m_Fertility );
324 ctx.
Read( m_FertilizerUsage );
325 ctx.
Read( m_FertilizerQuantity );
327 if ( !ctx.
Read( m_FertilizerType ) )
328 m_FertilizerType =
"";
330 ctx.
Read( m_HarvestingEfficiency );
334 if ( version >= 102 )
336 ctx.
Read( m_Fertility );
337 ctx.
Read( m_FertilizerUsage );
338 ctx.
Read( m_FertilizerQuantity );
339 ctx.
Read( m_HarvestingEfficiency );
342 if ( !ctx.
Read( m_FertilizerType ) )
344 m_FertilizerType =
"";
353 ctx.
Write( m_Fertility );
354 ctx.
Write( m_FertilizerUsage );
355 ctx.
Write( m_FertilizerQuantity );
356 ctx.
Write( m_HarvestingEfficiency );
358 ctx.
Write( m_FertilizerType );
class GP5GasMask extends MaskBase ItemBase
class BoxCollidingParams component
ComponentInfo for BoxCollidingResult.
enum EObjectTemperatureState m_State
void OnStoreSaveCustom(ParamsWriteContext ctx)
bool OnStoreLoadCustom(ParamsReadContext ctx, int version)
void SetState(bool state)
proto native void ObjectDelete(Object obj)
proto bool Write(void value_out)
proto bool Read(void value_in)
Serializer ParamsReadContext
proto native CGame GetGame()
Serializer ParamsWriteContext
proto native int GetState()
returns one of STATE_...