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

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

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

class  ActionPackTentCB
 

Функции

ActionPackTentCB ActionContinuousBaseCB ActionPackTent ()
 
override void CreateActionComponent ()
 
override void CreateConditionComponents ()
 
override GetInputType ()
 
override bool IsUsingProxies ()
 
override bool HasProgress ()
 
override bool HasAlternativeInterrupt ()
 
override bool ActionConditionContinue (ActionData action_data)
 
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 Start (ActionData action_data)
 
override void OnExecute (ActionData action_data)
 
override void OnEnd (ActionData action_data)
 
override void OnFinishProgressServer (ActionData action_data)
 
override string GetAdminLogMessage (ActionData action_data)
 

Функции

◆ ActionCondition()

override bool ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
74 {
75 Object targetObject = target.GetObject();
76 Object targetParent = target.GetParent();
77
79 if (inventory_tent && inventory_tent.GetHierarchyRootPlayer())
80 {
81 return false; //tent is somewhere in player's inventory
82 }
83
85 {
87 if ( tent.CanBePacked() )
88 {
90 targetObject.GetActionComponentNameList(target.GetComponentIndex(), selections);
91
92 for ( int s = 0; s < selections.Count(); s++ )
93 {
94 if ( selections[s] == "pack" )
95 {
96 return true;
97 }
98 }
99 }
100 }
101 return false;
102 }
Definition ObjectTyped.c:2
Definition EntityAI.c:95
Definition CarTent.c:2

◆ ActionConditionContinue()

override bool ActionConditionContinue ( ActionData action_data)
48 {
49 Object targetParent = action_data.m_Target.GetParent();
51 return tent.CanBePacked();
52 }

◆ ActionPackTent()

12 {
13 m_CallbackClass = ActionPackTentCB;
15 m_CommandUID = 0;
16 m_FullBody = true;
17 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
18 m_Text = "#pack_tent";
19 }
bool m_FullBody
Definition ActionBase.c:52
string m_Text
Definition ActionBase.c:49
float m_SpecialtyWeight
Definition ActionBase.c:68
int m_StanceMask
Definition ActionBase.c:53
Definition ActionPackTent.c:2
Definition ActionConstants.c:119
const float PRECISE_LOW
Definition ActionConstants.c:123
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602

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

◆ CreateActionComponent()

override void CreateActionComponent ( )
12 {
13 m_CallbackClass = ActionPackTentCB;
15 m_CommandUID = 0;

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

◆ CreateActionData()

override ActionData CreateActionData ( )
55 {
57 return action_data;
58 }
Definition ActionDeployBase.c:2

◆ CreateConditionComponents()

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

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

◆ GetAdminLogMessage()

override string GetAdminLogMessage ( ActionData action_data)
141 {
142 return " packed " + action_data.m_Target.GetParent().GetDisplayName() + " with Hands ";
143 }

◆ GetInputType()

override GetInputType ( )
28 {
30 }
Definition ActionInput.c:522

◆ HasAlternativeInterrupt()

override bool HasAlternativeInterrupt ( )
43 {
44 return true;
45 }

◆ HasProgress()

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

◆ IsUsingProxies()

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

◆ OnEnd()

override void OnEnd ( ActionData action_data)
119 {
120 Object targetParent = action_data.m_Target.GetParent();
122 tent.SetIsBeingPacked(false);
123 if ( action_data.m_Player ) action_data.m_Player.TryHideItemInHands(false);
124 }

◆ OnExecute()

override void OnExecute ( ActionData action_data)
112 {
113 Object targetParent = action_data.m_Target.GetParent();
115 tent.SetIsBeingPacked(true);
116 }

◆ OnFinishProgressServer()

override void OnFinishProgressServer ( ActionData action_data)
127 {
128 //vector offset = Vector(1, 0, 0);
129 Object targetParent = action_data.m_Target.GetParent();
131 if (tent.CanBePacked())
132 {
133 tent.Pack( true );
134 tent.SetPosition( action_data.m_Player.GetPosition() /*+ offset*/ ); //Add offset to allign tent with player
135 tent.SetOrientation( action_data.m_Player.GetOrientation() );
136 tent.PlaceOnSurface();
137 }
138 }

◆ SetupAction()

override bool SetupAction ( PlayerBase player,
ActionTarget target,
ItemBase item,
out ActionData action_data,
Param extra_data = NULL )
61 {
62 if ( super.SetupAction(player, target, item, action_data, extra_data ))
63 {
66 poActionData.m_AlreadyPlaced = false;
67 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_2HD; //Call the animation
68 return true;
69 }
70 return false;
71 }

◆ Start()

override void Start ( ActionData action_data)
105 {
106 super.Start(action_data);
107
108 if ( action_data.m_Player ) action_data.m_Player.TryHideItemInHands(true);
109 }