Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Файл ActionAttach.c

См. исходные тексты.

Структуры данных

class  AttachActionData
 

Функции

AttachActionData ActionData ActionAttach ()
 
override void CreateConditionComponents ()
 
override ActionData CreateActionData ()
 
override bool SetupAction (PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=null)
 
override bool ActionCondition (PlayerBase player, ActionTarget target, ItemBase item)
 
override void OnExecuteServer (ActionData action_data)
 
override void OnExecuteClient (ActionData action_data)
 
void AttachItem (AttachActionData action_data)
 
override bool CanBeSetFromInventory ()
 

Переменные

int m_AttSlot
 

Функции

◆ ActionAttach()

AttachActionData ActionData ActionAttach ( )
10 {
11 m_Text = "#attach";
12 }
string m_Text
Definition ActionBase.c:49

◆ ActionCondition()

override bool ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
62 {
63 EntityAI targetEntity = EntityAI.Cast(target.GetObject());
64 if (targetEntity && item)
65 {
66 return targetEntity.GetInventory() && targetEntity.GetInventory().CanAddAttachment(item) && !targetEntity.CanUseConstruction());
67 }
68
69 return false;
70 }
Definition Building.c:6
Definition EntityAI.c:95

◆ AttachItem()

void AttachItem ( AttachActionData action_data)
protected
91 {
93 if (action_data.m_Target.IsProxy())
94 {
95 entity = EntityAI.Cast(action_data.m_Target.GetParent());
96 }
97 else
98 {
99 entity = EntityAI.Cast(action_data.m_Target.GetObject());
100 }
101
102 if (entity && action_data.m_MainItem)
103 {
104 action_data.m_Player.PredictiveTakeEntityToTargetAttachmentEx(entity, action_data.m_MainItem, action_data.m_AttSlot);
105 }
106 }

◆ CanBeSetFromInventory()

override bool CanBeSetFromInventory ( )
protected
109 {
110 return false;
111 }

◆ CreateActionData()

override ActionData CreateActionData ( )
23 {
25 return action_data;
26 }
Definition ActionAttach.c:2

◆ CreateConditionComponents()

override void CreateConditionComponents ( )
15 {
18 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_ATTACHITEM;
19 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
20 }
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
int m_StanceMask
Definition ActionBase.c:53
Definition CCINonRuined.c:2
Definition CCTNonRuined.c:2
Definition ActionConstants.c:105
const float DEFAULT
Definition ActionConstants.c:107
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602

Перекрестные ссылки UAMaxDistances::DEFAULT, m_ConditionItem, m_ConditionTarget и m_StanceMask.

◆ OnExecuteClient()

override void OnExecuteClient ( ActionData action_data)
83 {
85
88 }
void AttachItem(AttachActionData action_data)
Definition ActionAttach.c:90
void ClearInventoryReservationEx(ActionData action_data)
Definition ActionBase.c:862

Перекрестные ссылки AttachItem() и ClearInventoryReservationEx().

◆ OnExecuteServer()

override void OnExecuteServer ( ActionData action_data)
73 {
74 if (GetGame().IsMultiplayer())
75 return;
76
80 }
proto native CGame GetGame()

Перекрестные ссылки AttachItem(), ClearInventoryReservationEx() и GetGame().

◆ SetupAction()

override bool SetupAction ( PlayerBase player,
ActionTarget target,
ItemBase item,
out ActionData action_data,
Param extra_data = null )
29 {
31 if (!GetGame().IsDedicatedServer())
32 {
34 if (target.IsProxy())
35 {
36 targetEntity = EntityAI.Cast(target.GetParent());
37 }
38 else
39 {
40 targetEntity = EntityAI.Cast(target.GetObject());
41 }
42
43 if (!targetEntity.GetInventory().FindFreeLocationFor(item, FindInventoryLocationType.ATTACHMENT, il))
44 return false;
45 }
46
47 if (super.SetupAction(player, target, item, action_data, extra_data))
48 {
49 #ifndef SERVER
51 action_data_a.m_AttSlot = il.GetSlot();
52 #endif
53
54 return true;
55 }
56
57 return false;
58 }
FindInventoryLocationType
flags for searching locations in inventory
Definition InventoryLocation.c:16
InventoryLocation.
Definition InventoryLocation.c:28

Перекрестные ссылки GetGame().

Переменные

◆ m_AttSlot

int m_AttSlot