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

◆ OnExecuteImpl()

void ActionAttachToConstruction::OnExecuteImpl ( ActionData action_data)
inlineprotected

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

65 {
66 EntityAI targetEntity = EntityAI.Cast(action_data.m_Target.GetObject());
67
68 int slotId = AttachToConstructionActionData.Cast(action_data).m_SlotID;
69
70 if (slotId != InventorySlots.INVALID)
71 {
72 ItemBase attachment = ItemBase.Cast(targetEntity.GetInventory().FindAttachment(slotId));
73
74 if (attachment)
75 {
76 //combine
77 attachment.CombineItemsClient(action_data.m_MainItem);
78 }
79 else
80 {
81 float stackable = action_data.m_MainItem.GetTargetQuantityMax(slotId);
82
83 if (stackable == 0 || stackable >= action_data.m_MainItem.GetQuantity())
84 {
85 action_data.m_Player.PredictiveTakeEntityToTargetAttachmentEx(targetEntity, action_data.m_MainItem, slotId);
86 }
87 else if (stackable != 0 && stackable < action_data.m_MainItem.GetQuantity())
88 {
89 action_data.m_MainItem.SplitIntoStackMax(targetEntity, slotId, action_data.m_Player);
90 }
91 }
92 }
93 }
class LogManager EntityAI
class GP5GasMask extends MaskBase ItemBase
PlayerBase m_Player
Определения ActionBase.c:40
ref ActionTarget m_Target
Определения ActionBase.c:39
ItemBase m_MainItem
Определения ActionBase.c:35

Перекрестные ссылки InventorySlots::INVALID, ActionData::m_MainItem, ActionData::m_Player, AttachToConstructionActionData::m_SlotID и ActionData::m_Target.

Используется в OnExecuteClient() и OnExecuteServer().