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

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

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

class  ActionAttachExplosivesTriggerCB
 

Функции

ActionAttachExplosivesTriggerCB ActionContinuousBaseCB ActionAttachExplosivesTrigger ()
 
override void CreateActionComponent ()
 
override void CreateConditionComponents ()
 
override bool ActionConditionContinue (ActionData action_data)
 
override bool CanBeSetFromInventory ()
 
override bool ActionCondition (PlayerBase player, ActionTarget target, ItemBase item)
 
override void OnFinishProgressServer (ActionData action_data)
 
override void OnFinishProgressClient (ActionData action_data)
 
void CreateRemoteDetonatorReceiverAsAttachment (ActionData action_data)
 
void AttachItem (ActionData action_data)
 

Функции

◆ ActionAttachExplosivesTrigger()

ActionAttachExplosivesTriggerCB ActionContinuousBaseCB ActionAttachExplosivesTrigger ( )
12 {
13 m_CallbackClass = ActionAttachExplosivesTriggerCB;
14 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_CRAFTING;
15 m_FullBody = true;
17
18 m_Text = "#STR_ArmExplosive";
19 }
bool m_FullBody
Definition ActionBase.c:52
string m_Text
Definition ActionBase.c:49
float m_SpecialtyWeight
Definition ActionBase.c:68
Definition ActionAttachExplosivesTrigger.c:2
Definition ActionConstants.c:119
const float PRECISE_LOW
Definition ActionConstants.c:123
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602

Используется в OnVariablesSynchronized(), ActionConstructor::RegisterActions(), RemoteDetonatorReceiver(), RemoteDetonatorTrigger::SetActions() и SetActions().

◆ ActionCondition()

override bool ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
38 {
39 if (target.GetParent())
40 {
41 return false;
42 }
43
44 if (ClaymoreMine.Cast(target.GetObject()))
45 {
46 return false;
47 }
48
49 ExplosivesBase explosive = ExplosivesBase.Cast(target.GetObject());
50 if (explosive)
51 {
52 ClockBase timedTrigger;
53 if (ClockBase.CastTo(timedTrigger, item))
54 {
55 return timedTrigger.IsAlarmOn() && explosive.IsTimerDetonable() && explosive.CanBeArmed();
56 }
57
58 return explosive.CanBeArmed();
59 }
60
61
62 return false;
63 }
Definition ClaymoreMine.c:2
Definition EntityAI.c:95

◆ ActionConditionContinue()

override bool ActionConditionContinue ( ActionData action_data)
28 {
29 return true;
30 }

◆ AttachItem()

void AttachItem ( ActionData action_data)
protected
124 {
126 if (action_data.m_Target.IsProxy())
127 {
128 targetEAI = EntityAI.Cast(action_data.m_Target.GetParent());
129 }
130 else
131 {
132 targetEAI = EntityAI.Cast(action_data.m_Target.GetObject());
133 }
134
135 if (targetEAI && action_data.m_MainItem)
136 {
137 int slotId = InventorySlots.GetSlotIdFromString(action_data.m_MainItem.GetExplosiveTriggerSlotName());
138 action_data.m_Player.PredictiveTakeEntityToTargetAttachmentEx(targetEAI, action_data.m_MainItem, slotId);
139 }
140 }
Definition Building.c:6
provides access to slot configuration
Definition InventorySlots.c:6
static proto native int GetSlotIdFromString(string slot_name)
converts string to slot_id

Перекрестные ссылки InventorySlots::GetSlotIdFromString().

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

◆ CanBeSetFromInventory()

override bool CanBeSetFromInventory ( )
33 {
34 return true;
35 }

◆ CreateActionComponent()

override void CreateActionComponent ( )
12 {
13 m_CallbackClass = ActionAttachExplosivesTriggerCB;
14 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_CRAFTING;
15 m_FullBody = true;

Перекрестные ссылки m_FullBody, m_SpecialtyWeight, m_Text и UASoftSkillsWeight::PRECISE_LOW.

◆ CreateConditionComponents()

override void CreateConditionComponents ( )
22 {
25 }
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
Definition CCINonRuined.c:2
Definition CCTNonRuined.c:2
Definition ActionConstants.c:105
const float DEFAULT
Definition ActionConstants.c:107

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

◆ CreateRemoteDetonatorReceiverAsAttachment()

void CreateRemoteDetonatorReceiverAsAttachment ( ActionData action_data)
protected
105 {
106 ExplosivesBase explosive;
107 if (action_data.m_Target.IsProxy())
108 {
109 explosive = ExplosivesBase.Cast(action_data.m_Target.GetParent());
110 }
111 else
112 {
113 explosive = ExplosivesBase.Cast(action_data.m_Target.GetObject());
114 }
115
116 if (explosive && action_data.m_MainItem)
117 {
118 explosive.UnlockTriggerSlots();
120 }
121 }
Definition RemoteDetonator.c:47
static RemoteDetonatorTrigger SpawnInPlayerHands(notnull EntityAI pEntity, EntityAI deviceToPair=null)
Definition RemoteDetonator.c:155

Перекрестные ссылки RemoteDetonatorTrigger::SpawnInPlayerHands().

Используется в OnFinishProgressServer().

◆ OnFinishProgressClient()

override void OnFinishProgressClient ( ActionData action_data)
89 {
91
92 ExplosivesBase explosive = ExplosivesBase.Cast(action_data.m_Target.GetObject());
93 if (explosive)
94 {
95 explosive.UnlockTriggerSlots();
96 }
97
98 if (!action_data.m_MainItem.IsInherited(RemoteDetonator))
99 {
101 }
102 }
void AttachItem(ActionData action_data)
Definition ActionAttachExplosivesTrigger.c:123
void ClearInventoryReservationEx(ActionData action_data)
Definition ActionBase.c:862

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

◆ OnFinishProgressServer()

override void OnFinishProgressServer ( ActionData action_data)
66 {
68
69 ExplosivesBase explosive = ExplosivesBase.Cast(action_data.m_Target.GetObject());
70 if (explosive)
71 {
72 explosive.OnPlacementComplete(action_data.m_Player, explosive.GetPosition(), action_data.m_Player.GetOrientation());
73 explosive.UnlockTriggerSlots();
74 }
75
76 if (action_data.m_MainItem.IsInherited(RemoteDetonator))
77 {
79
80 return;
81 }
82 else
83 {
85 }
86 }
void CreateRemoteDetonatorReceiverAsAttachment(ActionData action_data)
Definition ActionAttachExplosivesTrigger.c:104

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