Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс ActionTakeMaterialToHands
+ Граф наследования:ActionTakeMaterialToHands:

Защищенные члены

void OnExecuteImpl (ActionData action_data)
 
override void OnExecuteServer (ActionData action_data)
 
override void CreateAndSetupActionCallback (ActionData action_data)
 

Закрытые члены

void ActionTakeMaterialToHands ()
 
override void CreateConditionComponents ()
 
override bool HasProneException ()
 
override void OnActionInfoUpdate (PlayerBase player, ActionTarget target, ItemBase item)
 
override GetInputType ()
 
override bool HasProgress ()
 
override bool ActionCondition (PlayerBase player, ActionTarget target, ItemBase item)
 
override bool CanContinue (ActionData action_data)
 
override void OnExecuteClient (ActionData action_data)
 

Подробное описание

Конструктор(ы)

◆ ActionTakeMaterialToHands()

void ActionTakeMaterialToHands ( )
inlineprivate
4 {
5 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_PICKUP_HANDS;
6 m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_PICKUP_HANDS;
7 m_Text = "#take";
8 }
string m_Text
Definition ActionBase.c:49
int m_CommandUIDProne
Definition AnimatedActionBase.c:136
int m_CommandUID
Definition AnimatedActionBase.c:135
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602

Перекрестные ссылки AnimatedActionBase::m_CommandUID, AnimatedActionBase::m_CommandUIDProne и m_Text.

Методы

◆ ActionCondition()

override bool ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
inlineprivate
43 {
44 EntityAI target_entity = EntityAI.Cast( target.GetObject() );
45 if ( target_entity && target_entity.CanUseConstruction() )
46 {
48 if(!base_building.IsPlayerInside(player,""))
49 return false;
50
51 ConstructionActionData construction_action_data = player.GetConstructionActionData();
52 string main_part_name = target_entity.GetActionComponentName( target.GetComponentIndex() );
53 //Print(main_part_name);
54
55 if ( GetGame().IsMultiplayer() || GetGame().IsServer() )
56 {
57 construction_action_data.RefreshAttachmentsToDetach( target_entity, main_part_name );
58 }
59 EntityAI attachment = construction_action_data.GetActualAttachmentToDetach();
60
61 if ( attachment && player.GetInventory().CanAddEntityIntoHands( attachment ) && attachment.GetHierarchyRootPlayer() != player )
62 {
63 return true;
64 }
65 }
66
67 return false;
68 }
Definition Fence.c:2
Definition ConstructionActionData.c:2
Definition Building.c:6
Definition EntityAI.c:95
proto native CGame GetGame()

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

◆ CanContinue()

override bool CanContinue ( ActionData action_data)
inlineprivate
71 {
72 return true;
73 }

◆ CreateAndSetupActionCallback()

override void CreateAndSetupActionCallback ( ActionData action_data)
inlineprotected
110 {
111 ConstructionActionData construction_action_data = action_data.m_Player.GetConstructionActionData();
112 EntityAI target = construction_action_data.GetActualAttachmentToDetach();
113
114 bool heavy_item = false;
116 if ( target && target.ConfigIsExisting("heavyItem") && target.ConfigGetBool("heavyItem") )
117 {
118 heavy_item = true;
119 }
120
121 if( heavy_item )
122 {
123 Class.CastTo(callback, action_data.m_Player.StartCommand_Action(DayZPlayerConstants.CMD_ACTIONFB_PICKUP_HEAVY,GetCallbackClassTypename(),DayZPlayerConstants.STANCEMASK_ERECT));
124 }
125 else
126 {
127 if( action_data.m_Player.IsPlayerInStance(DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT) )
128 {
129 Class.CastTo(callback, action_data.m_Player.AddCommandModifier_Action(DayZPlayerConstants.CMD_ACTIONMOD_PICKUP_HANDS,GetCallbackClassTypename()));
130 }
131 else
132 {
133 Class.CastTo(callback, action_data.m_Player.StartCommand_Action(DayZPlayerConstants.CMD_ACTIONFB_PICKUP_HANDS,GetCallbackClassTypename(),DayZPlayerConstants.STANCEMASK_PRONE));
134 }
135 }
136 callback.SetActionData(action_data);
137 callback.InitActionComponent();
138 action_data.m_Callback = callback;
139 }
Definition AnimatedActionBase.c:2
GetCallbackClassTypename()
Definition AnimatedActionBase.c:224
Super root of all classes in Enforce script.
Definition EnScript.c:11
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.

Перекрестные ссылки Class::CastTo() и AnimatedActionBase::GetCallbackClassTypename().

◆ CreateConditionComponents()

override void CreateConditionComponents ( )
inlineprivate
11 {
14 }
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
Definition CCINotPresent.c:2
Definition CCTCursor.c:2

Перекрестные ссылки m_ConditionItem и m_ConditionTarget.

◆ GetInputType()

override GetInputType ( )
inlineprivate
33 {
35 }
Definition ActionInput.c:522

◆ HasProgress()

override bool HasProgress ( )
inlineprivate
38 {
39 return false;
40 }

◆ HasProneException()

override bool HasProneException ( )
inlineprivate
17 {
18 return true;
19 }

◆ OnActionInfoUpdate()

override void OnActionInfoUpdate ( PlayerBase player,
ActionTarget target,
ItemBase item )
inlineprivate
22 {
23 ConstructionActionData construction_action_data = player.GetConstructionActionData();
24 EntityAI attachment = construction_action_data.GetActualAttachmentToDetach();
25
26 if ( attachment )
27 {
28 m_Text = "#take " + attachment.GetDisplayName();
29 }
30 }

Перекрестные ссылки m_Text.

◆ OnExecuteClient()

override void OnExecuteClient ( ActionData action_data)
inlineprivate
76 {
78 }
void OnExecuteImpl(ActionData action_data)
Definition ActionTakeMaterialToHands.c:80

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

◆ OnExecuteImpl()

void OnExecuteImpl ( ActionData action_data)
inlineprotected
81 {
82 ConstructionActionData construction_action_data = action_data.m_Player.GetConstructionActionData();
83 ItemBase item_target = ItemBase.Cast( construction_action_data.GetActualAttachmentToDetach() );
84 if( item_target )
85 {
86 float stackable = item_target.GetTargetQuantityMax();
87
88 if( stackable == 0 || stackable >= item_target.GetQuantity() )
89 {
90 //take to hands
91 action_data.m_Player.PredictiveTakeEntityToHands( item_target );
92 }
93 else if( stackable != 0 && stackable < item_target.GetQuantity() )
94 {
95 //split and take to hands
96 item_target.SplitIntoStackMaxHandsClient( action_data.m_Player );
97 }
98 }
99 }
Definition InventoryItem.c:731

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

◆ OnExecuteServer()

override void OnExecuteServer ( ActionData action_data)
inlineprotected
102 {
103 if (GetGame().IsMultiplayer())
104 return; // multiplayer handled on client side via OnExecuteClient
105 else
106 OnExecuteImpl(action_data); // single player
107 }

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


Объявления и описания членов класса находятся в файле: