DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionPackTent.c
См. документацию.
2{
3 override void CreateActionComponent()
4 {
5 m_ActionData.m_ActionComponent = new CAContinuousTime(UATimeSpent.DEFAULT_DEPLOY); //Use same time as Deploy
6 }
7}
8
10{
11 void ActionPackTent()
12 {
13 m_CallbackClass = ActionPackTentCB;
14 m_SpecialtyWeight = UASoftSkillsWeight.PRECISE_LOW;
15 m_CommandUID = 0;
16 m_FullBody = true;
17 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
18 m_Text = "#pack_tent";
19 }
20
22 {
23 m_ConditionItem = new CCINone;
24 m_ConditionTarget = new CCTCursorParent(UAMaxDistances.DEFAULT);
25 }
26
27 override typename GetInputType()
28 {
30 }
31
32 override bool IsUsingProxies()
33 {
34 return true;
35 }
36
37 override bool HasProgress()
38 {
39 return true;
40 }
41
43 {
44 return true;
45 }
46
47 override bool UseMainItem()
48 {
49 return false;
50 }
51
52 override bool ActionConditionContinue( ActionData action_data )
53 {
54 Object targetParent = action_data.m_Target.GetParent();
55 TentBase tent = TentBase.Cast( targetParent );
56 return tent.CanBePacked();
57 }
58
60 {
62 return action_data;
63 }
64
65 override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
66 {
67 if ( super.SetupAction(player, target, item, action_data, extra_data ))
68 {
69 PlaceObjectActionData poActionData;
70 poActionData = PlaceObjectActionData.Cast(action_data);
71 poActionData.m_AlreadyPlaced = false;
72 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_2HD; //Call the animation
73 return true;
74 }
75 return false;
76 }
77
78 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
79 {
80 Object targetObject = target.GetObject();
81 Object targetParent = target.GetParent();
82
83 TentBase inventory_tent = TentBase.Cast(targetObject);
84 if (inventory_tent && inventory_tent.GetHierarchyRootPlayer())
85 {
86 return false; //tent is somewhere in player's inventory
87 }
88
89 if ( player && targetObject && targetParent )
90 {
91 TentBase tent = TentBase.Cast( targetParent );
92 if ( tent.CanBePacked() )
93 {
94 array<string> selections = new array<string>;
95 targetObject.GetActionComponentNameList(target.GetComponentIndex(), selections);
96
97 for ( int s = 0; s < selections.Count(); s++ )
98 {
99 if ( selections[s] == "pack" )
100 {
101 return true;
102 }
103 }
104 }
105 }
106 return false;
107 }
108
109 override void Start( ActionData action_data ) //Setup on start of action
110 {
111 super.Start(action_data);
112
113 if ( action_data.m_Player ) action_data.m_Player.TryHideItemInHands(true);
114 }
115
116 override void OnExecute( ActionData action_data )
117 {
118 Object targetParent = action_data.m_Target.GetParent();
119 TentBase tent = TentBase.Cast( targetParent );
120 tent.SetIsBeingPacked(true);
121 }
122
123 override void OnEnd( ActionData action_data )
124 {
125 Object targetParent = action_data.m_Target.GetParent();
126 TentBase tent = TentBase.Cast( targetParent );
127 tent.SetIsBeingPacked(false);
128 if ( action_data.m_Player ) action_data.m_Player.TryHideItemInHands(false);
129 }
130
131 override void OnFinishProgressServer( ActionData action_data )
132 {
133 //vector offset = Vector(1, 0, 0);
134 Object targetParent = action_data.m_Target.GetParent();
135 TentBase tent = TentBase.Cast( targetParent );
136 if (tent.CanBePacked())
137 tent.Pack(true);
138 }
139
140 override string GetAdminLogMessage(ActionData action_data)
141 {
142 return " packed " + action_data.m_Target.GetParent().GetDisplayName() + " with Hands ";
143 }
144};
int m_CommandUID
Определения ActionBase.c:31
int m_StanceMask
Определения ActionBase.c:33
ActionBase ActionData
Определения ActionBase.c:30
ActionPackTentCB ActionContinuousBaseCB ActionPackTent()
Определения ActionPackTent.c:11
class ActionTargets ActionTarget
void Start()
Plays all elements this effects consists of.
Определения Effect.c:155
ActionData CreateActionData()
Определения ActionBase.c:225
bool HasProgress()
For UI: hiding of progress bar.
Определения ActionBase.c:250
string GetAdminLogMessage(ActionData action_data)
Определения ActionBase.c:1326
bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
Определения ActionBase.c:156
bool UseMainItem()
Определения ActionBase.c:379
bool IsUsingProxies()
not using plane object - it's using multiple proxies
Определения ActionBase.c:268
void CreateConditionComponents()
Определения ActionBase.c:230
ActionData m_ActionData
Определения AnimatedActionBase.c:3
override GetInputType()
Определения ActionContinuousBase.c:179
bool HasAlternativeInterrupt()
Определения ActionContinuousBase.c:147
void OnFinishProgressServer(ActionData action_data)
Определения ActionContinuousBase.c:283
override void CreateActionComponent()
Определения ActionPackTent.c:3
Определения ActionPackTent.c:2
override bool ActionConditionContinue(ActionData action_data)
Определения AnimatedActionBase.c:235
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения AnimatedActionBase.c:240
void OnExecute(ActionData action_data)
Определения AnimatedActionBase.c:171
Определения CCINone.c:2
Определения CCTCursorParent.c:2
Определения InventoryItem.c:731
Определения ObjectTyped.c:2
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Определения param.c:12
bool m_AlreadyPlaced
Определения ActionDeployBase.c:5
Определения PlayerBaseClient.c:2
Определения CarTent.c:2
const float DEFAULT
Определения ActionConstants.c:112
const float DEFAULT_DEPLOY
Определения ActionConstants.c:38
Определения ActionConstants.c:28
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
void OnEnd()
Определения Sound.c:226