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

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

void SetBuildingAnimation (ItemBase item)
 
override void WriteToContext (ParamsWriteContext ctx, ActionData action_data)
 
override bool ReadFromContext (ParamsReadContext ctx, out ActionReciveData action_recive_data)
 
override void HandleReciveData (ActionReciveData action_recive_data, ActionData action_data)
 
override string GetAdminLogMessage (ActionData action_data)
 

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

void ActionBuildPart ()
 
override void CreateConditionComponents ()
 
override void OnActionInfoUpdate (PlayerBase player, ActionTarget target, ItemBase item)
 
override bool CanBeUsedLeaning ()
 
override bool ActionCondition (PlayerBase player, ActionTarget target, ItemBase item)
 
override bool ActionConditionContinue (ActionData action_data)
 
override void OnFinishProgressServer (ActionData action_data)
 
override string GetSoundCategory (ActionData action_data)
 
override ActionData CreateActionData ()
 
override bool SetupAction (PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
 
- Закрытые члены унаследованные от ActionContinuousBase
void OnStartAnimationLoopServer (ActionData action_data)
 
void OnStartAnimationLoopClient (ActionData action_data)
 
void OnEndAnimationLoopServer (ActionData action_data)
 
void OnEndAnimationLoopClient (ActionData action_data)
 
void OnFinishProgressServer (ActionData action_data)
 
void OnFinishProgressClient (ActionData action_data)
 

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

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

◆ ActionBuildPart()

void ActionBuildPart ( )
inlineprivate
28 {
30 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE;
31 m_FullBody = true;
32 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT;
33
35 m_Text = "#build";
36 }
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 ActionBuildPart.c:12
int m_CommandUID
Definition AnimatedActionBase.c:135
m_CallbackClass
Definition AnimatedActionBase.c:137
Definition ActionConstants.c:119
const float ROUGH_HIGH
Definition ActionConstants.c:122
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602

Перекрестные ссылки AnimatedActionBase::m_CallbackClass, AnimatedActionBase::m_CommandUID, m_FullBody, m_SpecialtyWeight, m_StanceMask, m_Text и UASoftSkillsWeight::ROUGH_HIGH.

Методы

◆ ActionCondition()

override bool ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
inlineprivate
61 {
62 if (player.IsPlacingLocal() || player.IsPlacingServer())
63 return false;
64
65 //Action not allowed if player has broken legs
66 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
67 return false;
68
69 //gate..
70 if (target.GetObject() && (!target.GetObject().CanUseConstructionBuild() || target.GetObject().CanUseHandConstruction()))
71 return false;
72
73 if ((!GetGame().IsDedicatedServer()))
74 {
75 if (MiscGameplayFunctions.ComplexBuildCollideCheckClient(player, target, item, m_VariantID))
76 {
77 return true;
78 }
79 return false;
80 }
81 return true;
82 }
int m_VariantID
Definition ActionBase.c:59
eBrokenLegs
Definition EBrokenLegs.c:2
Definition EntityAI.c:95
proto native CGame GetGame()

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

◆ ActionConditionContinue()

override bool ActionConditionContinue ( ActionData action_data)
inlineprivate
85 {
87 Construction construction = base_building.GetConstruction();
88 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
90
91 check_data.m_PartName = part_name;
92 check_data.m_AdditionalExcludes.Insert(action_data.m_Player);
93
94 bool canBuild = construction.CanBuildPart(part_name, action_data.m_MainItem, true);
95 if (GetGame().IsServer())
96 {
97 bool collides = construction.IsCollidingEx(check_data);
98
99 return !collides && canBuild;
100 }
101 else
102 {
103 return canBuild;
104 }
105 }
void CollisionCheckData()
Definition Construction.c:1310
void Construction(BaseBuildingBase parent)
Definition Construction.c:26
Definition Fence.c:2

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

◆ CanBeUsedLeaning()

override bool CanBeUsedLeaning ( )
inlineprivate
56 {
57 return false;
58 }

◆ CreateActionData()

override ActionData CreateActionData ( )
inlineprivate
134 {
136 return action_data;
137 }

◆ CreateConditionComponents()

override void CreateConditionComponents ( )
inlineprivate
39 {
42 }
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
Definition CCINonRuined.c:2
Definition CCTNone.c:2

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

◆ GetAdminLogMessage()

override string GetAdminLogMessage ( ActionData action_data)
inlineprotected
211 {
212 ConstructionActionData construction_action_data = action_data.m_Player.GetConstructionActionData();
213 string partName = BuildPartActionData.Cast(action_data).m_PartType;
214
215 string message = string.Format("Built %1 on %2 with %3", partName, action_data.m_Target.GetObject().GetDisplayName(), action_data.m_MainItem.GetDisplayName());
216 return message;
217 }
Definition ConstructionActionData.c:2

◆ GetSoundCategory()

override string GetSoundCategory ( ActionData action_data)
inlineprivate
129 {
130 return "Base_building";
131 }

◆ HandleReciveData()

override void HandleReciveData ( ActionReciveData action_recive_data,
ActionData action_data )
inlineprotected
204 {
205 super.HandleReciveData(action_recive_data, action_data);
206
208 }
Definition ActionBuildPart.c:2
string m_PartType
Definition ActionBuildPart.c:3

Перекрестные ссылки BuildPartActionReciveData::m_PartType.

◆ OnActionInfoUpdate()

override void OnActionInfoUpdate ( PlayerBase player,
ActionTarget target,
ItemBase item )
inlineprivate
45 {
46 ConstructionActionData construction_action_data = player.GetConstructionActionData();
48
50 {
51 m_Text = "#build " + constrution_part.GetName();
52 }
53 }
Definition ConstructionPart.c:2

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

◆ OnFinishProgressServer()

override void OnFinishProgressServer ( ActionData action_data)
inlineprivate
108 {
109 BaseBuildingBase base_building = BaseBuildingBase.Cast(action_data.m_Target.GetObject());
110 Construction construction = base_building.GetConstruction();
111
112 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
114
115 check_data.m_PartName = part_name;
116 check_data.m_AdditionalExcludes.Insert(action_data.m_Player);
117
118 if (!construction.IsCollidingEx(check_data) && construction.CanBuildPart(part_name, action_data.m_MainItem, true)) //redundant at this point?
119 {
120 //build
121 construction.BuildPartServer(action_data.m_Player, part_name, AT_BUILD_PART);
122 //add damage to tool
123 action_data.m_MainItem.DecreaseHealth(UADamageApplied.BUILD, false);
124 action_data.m_Player.GetSoftSkillsManager().AddSpecialty(m_SpecialtyWeight);
125 }
126 }
const int AT_BUILD_PART
Definition _constants.c:6
Definition ActionConstants.c:131
const float BUILD
Definition ActionConstants.c:132

Перекрестные ссылки AT_BUILD_PART, UADamageApplied::BUILD, CollisionCheckData(), Construction() и m_SpecialtyWeight.

◆ ReadFromContext()

override bool ReadFromContext ( ParamsReadContext ctx,
out ActionReciveData action_recive_data )
inlineprotected
187 {
189 super.ReadFromContext(ctx, action_recive_data);
190
191 string part_type;
192 if (ctx.Read(part_type))
193 {
195 return true;
196 }
197 else
198 {
199 return false;
200 }
201 }

Перекрестные ссылки BuildPartActionReciveData::m_PartType.

◆ SetBuildingAnimation()

void SetBuildingAnimation ( ItemBase item)
inlineprotected
158 {
159 switch (item.Type())
160 {
161 case Pickaxe:
162 case Shovel:
163 case FarmingHoe:
164 case FieldShovel:
165 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DIG;
166 break;
167 case Pliers:
168 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
169 break;
170 case SledgeHammer:
171 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_MINEROCK;
172 break;
173 default:
174 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE;
175 break;
176 }
177 }
Definition FarmingHoe.c:2

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

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

◆ SetupAction()

override bool SetupAction ( PlayerBase player,
ActionTarget target,
ItemBase item,
out ActionData action_data,
Param extra_data = NULL )
inlineprivate
141 {
142 if (super.SetupAction(player, target, item, action_data, extra_data))
143 {
145
146 if (!GetGame().IsDedicatedServer())
147 {
148 ConstructionActionData construction_action_data = action_data.m_Player.GetConstructionActionData();
149 BuildPartActionData.Cast(action_data).m_PartType = construction_action_data.GetBuildPartAtIndex(m_VariantID).GetPartName();
150 }
151 return true;
152 }
153
154 return false;
155 }
void SetBuildingAnimation(ItemBase item)
Definition ActionBuildPart.c:157

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

◆ WriteToContext()

override void WriteToContext ( ParamsWriteContext ctx,
ActionData action_data )
inlineprotected
180 {
181 super.WriteToContext(ctx, action_data);
182
183 ctx.Write(BuildPartActionData.Cast(action_data).m_PartType);
184 }

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