DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionDetachPowerSourceFromPanel.c
См. документацию.
1
3{
5 {
6 m_Text = "#detach_power_source";
7 }
8
9 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
10 {
11 Object target_object = target.GetObject();
12
13 if ( player && target_object )
14 {
15 EntityAI target_entity = EntityAI.Cast( target.GetObject() );
16 string selection = target_object.GetActionComponentName( target.GetComponentIndex() );
17
18
19 if ( target_entity && target_entity.GetInventory() && target_entity.GetInventory().AttachmentCount() > 0 && selection == "power_source" ) //has any power source attachment attached
20 {
21 return true;
22 }
23 }
24
25 return false;
26 }
27
28 override void OnExecuteClient( ActionData action_data )
29 {
30 Process(action_data);
31 }
32
33 override void OnExecuteServer( ActionData action_data )
34 {
35 Process(action_data);
36 }
37
38 void Process( ActionData action_data )
39 {
40 EntityAI target_entity = EntityAI.Cast( action_data.m_Target.GetObject() );
41
42 EntityAI attachment;
43 int attachments_count = target_entity.GetInventory().AttachmentCount();
44 for ( int j = 0; j < attachments_count; j++ ) //find any attached power source
45 {
46 // @TODO: vezme prvni att?
47 attachment = target_entity.GetInventory().GetAttachmentFromIndex( j );
48 if ( attachment )
49 break;
50 }
51
52 if ( attachment )
53 {
54 action_data.m_Player.PredictiveTakeEntityToHands(attachment );
55 }
56 }
57}
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
void Process()
Определения EffectManager.c:743
string m_Text
Определения ActionBase.c:58
void Process(ActionData action_data)
override void OnExecuteClient(ActionData action_data)
override void OnExecuteServer(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
void ActionInteractBase()
Определения ActionInteractBase.c:43
Определения Building.c:6
Определения InventoryItem.c:731
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2