DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionHarvestCrops.c
См. документацию.
8
10{
12
14 {
16 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
17 m_FullBody = true;
18 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
19 }
20
21 override typename GetInputType()
22 {
24 }
25
27 {
28 GardenBase garden_base;
29 if ( Class.CastTo(garden_base, target.GetObject()))
30 {
31 Slot slot;
32
33 array<string> selections = new array<string>;
34 garden_base.GetActionComponentNameList(target.GetComponentIndex(), selections);
35 string selection;
36
37 for (int s = 0; s < selections.Count(); s++)
38 {
39 selection = selections[s];
40 slot = garden_base.GetSlotBySelection( selection );
41 if (slot)
42 break;
43 }
44
45 if ( slot && slot.GetPlant() )
46 {
47 return slot;
48 }
49 }
50 return null;
51 }
52
53 override void OnActionInfoUpdate( PlayerBase player, ActionTarget target, ItemBase item )
54 {
55 m_Text = "#harvest";
56
57 Slot slot = GetPlantSlot(target);
58
59 if (slot)
60 {
61 m_Plant = PlantBase.Cast(slot.GetPlant());
62 m_Text+= " " + MiscGameplayFunctions.GetItemDisplayName(m_Plant.GetCropsType());
63 }
64
65 }
66
72
73 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
74 {
75 GardenBase garden_base;
76 if ( Class.CastTo(garden_base, target.GetObject()))
77 {
78 Slot slot = GetPlantSlot(target);
79
80 if (slot)
81 {
82 m_Plant = PlantBase.Cast(slot.GetPlant());
83 if ( m_Plant && m_Plant.IsHarvestable())
84 return true;
85 }
86 }
87 return false;
88
89 }
90
91 override void OnFinishProgressServer( ActionData action_data )
92 {
93 if ( m_Plant )
94 {
95 m_Plant.Harvest( action_data.m_Player );
96 }
97 }
98};
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
void PlantBase()
Определения PlantBase.c:54
int m_StanceMask
Определения ActionBase.c:62
string m_Text
Определения ActionBase.c:58
ref CCIBase m_ConditionItem
Определения ActionBase.c:64
bool m_FullBody
Определения ActionBase.c:61
ref CCTBase m_ConditionTarget
Определения ActionBase.c:65
ActionData m_ActionData
Определения AnimatedActionBase.c:3
void ActionContinuousBase()
Определения ActionContinuousBase.c:124
override void CreateConditionComponents()
Определения ActionHarvestCrops.c:67
PlantBase m_Plant
Определения ActionHarvestCrops.c:11
override void OnFinishProgressServer(ActionData action_data)
Определения ActionHarvestCrops.c:91
override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionHarvestCrops.c:53
override GetInputType()
Определения ActionHarvestCrops.c:21
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionHarvestCrops.c:73
Slot GetPlantSlot(ActionTarget target)
Определения ActionHarvestCrops.c:26
void ActionHarvestCrops()
Определения ActionHarvestCrops.c:13
override void CreateActionComponent()
Определения ActionHarvestCrops.c:3
int m_CommandUID
Определения AnimatedActionBase.c:143
Определения CCINone.c:2
Определения CCTCursor.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения GardenPlot.c:2
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
const float SMALL
Определения ActionConstants.c:111
const float DEFAULT_HARVEST
Определения ActionConstants.c:41
Определения ActionConstants.c:28
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.