DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionPlantSeed.c
См. документацию.
2{
4 {
5 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_DROPITEM_HANDS;
6 m_FullBody = false;
7
8 m_Text = "#plant_seed";
9 }
10
12 {
15 }
16
17 override bool HasTarget()
18 {
19 return true;
20 }
21
22 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
23 {
24 GardenBase gardenBase = GardenBase.Cast(target.GetObject());
25
26 if (gardenBase && (!gardenBase.IsHologram() || !gardenBase.IsBeingPlaced()))
27 {
28 array<string> selections = new array<string>();
29 gardenBase.GetActionComponentNameList(target.GetComponentIndex(), selections);
30
31 foreach (string selection : selections)
32 {
33 Slot slot = gardenBase.GetSlotBySelection(selection);
34 if (slot)
35 {
36 if (item != null && item.GetQuantity() > 0 && gardenBase.CanPlantSeed(selection))
37 return true;
38 }
39 }
40 }
41
42 return false;
43 }
44
45 override void OnExecuteServer(ActionData action_data)
46 {
47 super.OnExecuteServer(action_data);
48
49 Process(action_data);
50 }
51
52 void Process(ActionData action_data)
53 {
54 GardenBase gardenBase = GardenBase.Cast(action_data.m_Target.GetObject());
55
56 if (gardenBase)
57 {
58 int slotID;
59 array<string> selections = new array<string>();
60 gardenBase.GetActionComponentNameList(action_data.m_Target.GetComponentIndex(), selections);
61
62 foreach (string selection : selections)
63 {
64 Slot slot = gardenBase.GetSlotBySelection(selection);
65 if (slot)
66 {
67 slotID = slot.GetSlotId();
68 break;
69 }
70 }
71
72 ItemBase seed = ItemBase.Cast(action_data.m_MainItem);
73 if (seed.GetQuantity() > 1)
74 seed.SplitIntoStackMax(gardenBase, slotID, action_data.m_Player);
75 else
76 gardenBase.ServerTakeEntityToTargetAttachmentEx(gardenBase, seed, slotID);
77 }
78 }
79}
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
void Process()
Определения EffectManager.c:743
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
override void OnExecuteServer(ActionData action_data)
Определения ActionPlantSeed.c:45
void ActionPlantSeed()
Определения ActionPlantSeed.c:3
void Process(ActionData action_data)
Определения ActionPlantSeed.c:52
override void CreateConditionComponents()
Определения ActionPlantSeed.c:11
override bool HasTarget()
Определения ActionPlantSeed.c:17
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionPlantSeed.c:22
void ActionSingleUseBase()
Определения ActionSingleUseBase.c:31
int m_CommandUID
Определения AnimatedActionBase.c:143
Определения CCINonRuined.c:2
Определения CCTDummy.c:2
Определения GardenPlot.c:2
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602