14 m_Text =
"#build_shelter_leather";
36 if ( constrution_part )
39 switch (constrution_part.
GetName())
42 ret =
"#build_shelter_leather";
46 ret =
"#build_shelter_fabric";
50 ret =
"#build_shelter_stick";
64 if ( constrution_part )
66 switch (constrution_part.
GetName())
69 m_Text =
"#build_shelter_leather";
73 m_Text =
"#build_shelter_fabric";
77 m_Text =
"#build_shelter_stick";
111 if (player.GetBrokenLegs() ==
eBrokenLegs.BROKEN_LEGS)
114 if (target.GetObject() && !target.GetObject().CanUseConstructionBuild())
116 if ( player.IsPlacingLocal() || player.IsPlacingServer() )
119 if ( (!
GetGame().IsDedicatedServer()) )
121 if ( MiscGameplayFunctions.ComplexBuildCollideCheckClient(player, target, item,
m_VariantID ) )
133 if ( super.SetupAction( player, target, item, action_data, extra_data ) )
135 if ( !
GetGame().IsDedicatedServer() )
148 BuildPartActionData action_data =
new BuildPartActionData;
154 super.WriteToContext(ctx, action_data);
156 ctx.
Write(BuildPartActionData.Cast(action_data).m_PartType);
162 super.ReadFromContext(ctx, action_recive_data);
165 if ( ctx.
Read(part_type) )
178 super.HandleReciveData(action_recive_data, action_data);
186 Construction construction = base_building.GetConstruction();
187 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
190 check_data.m_PartName = part_name;
191 check_data.m_AdditionalExcludes.
Insert(action_data.m_Player);
193 return !construction.IsCollidingEx( check_data ) && construction.CanBuildPart( part_name, action_data.m_MainItem,
false );
198 super.OnStart(action_data);
199 action_data.m_Player.TryHideItemInHands(
true);
204 super.OnStartClient(action_data);
212 super.OnStartAnimationLoopClient(action_data);
219 super.OnEnd(action_data);
220 action_data.m_Player.TryHideItemInHands(
false);
225 super.OnEndClient(action_data);
234 Construction construction = base_building.GetConstruction();
236 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
238 if ( !construction.IsColliding( part_name ) && construction.CanBuildPart( part_name, action_data.m_MainItem,
false ) )
241 construction.BuildPartServer( action_data.m_Player, part_name,
AT_BUILD_PART );
247 super.OnFinishProgressClient(action_data);
256 if (constrution_part)
258 switch (constrution_part.
GetName())
323 return "Base_building";
class ActionTargets ActionTarget
void CollisionCheckData()
void Construction(BaseBuildingBase parent)
ref CCIBase m_ConditionItem
ref CCTBase m_ConditionTarget
void DetermineConstructionSounds(ActionData action_data)
override bool UseMainItem()
void StopActionLoopSound()
void DestroyActionLoopSound()
void PlayActionLoopSound(ActionData action_data)
override string GetSoundCategory(ActionData action_data)
override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
string m_SoundsetBuildLoop
override void OnEndClient(ActionData action_data)
override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
void ~ActionBuildShelter()
override bool ActionConditionContinue(ActionData action_data)
string m_SoundsetBuildFinish
override void OnStartAnimationLoopClient(ActionData action_data)
override void OnEnd(ActionData action_data)
override bool HasAlternativeInterrupt()
override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
override void OnStart(ActionData action_data)
override void OnStartClient(ActionData action_data)
override bool CanBeUsedLeaning()
void ActionBuildShelter()
override void OnFinishProgressServer(ActionData action_data)
override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
void PlayActionStartSound(ActionData action_data)
override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
override void OnFinishProgressClient(ActionData action_data)
override void CreateConditionComponents()
override string GetText()
EffectSound m_BuildLoopSound
void PlayActionFinishSound(ActionData action_data)
override ActionData CreateActionData()
override bool HasProgress()
string m_SoundsetBuildStart
void ActionContinuousBase()
ConstructionPart GetBuildPartNoToolAtIndex(int idx)
override void SetAutodestroy(bool auto_destroy)
Sets whether Effect automatically cleans up when it stops.
Wrapper class for managing sound through SEffectManager.
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
static EffectSound PlaySound(string sound_set, vector position, float play_fade_in=0, float stop_fade_out=0, bool loop=false)
Create and play an EffectSound.
static void DestroyEffect(Effect effect)
Unregisters, stops and frees the Effect.
Manager class for managing Effect (EffectParticle, EffectSound)
proto bool Write(void value_out)
proto bool Read(void value_in)
DayZPlayerConstants
defined in C++
Serializer ParamsReadContext
proto native CGame GetGame()
Serializer ParamsWriteContext
proto void Insert(int index, string input)
Inserts a string into the n-th index, increasing the string length by the size of the input.