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 ) )
249 super.OnFinishProgressClient(action_data);
258 if (constrution_part)
260 switch (constrution_part.
GetName())
protected float m_SpecialtyWeight
ref CCIBase m_ConditionItem
ref CCTBase m_ConditionTarget
protected int m_VariantID
protected bool m_FullBody
protected int m_StanceMask
class ActionTargets ActionTarget
void CollisionCheckData()
void Construction(BaseBuildingBase parent)
override void OnFinishProgressServer(ActionData action_data)
override bool CanBeUsedLeaning()
override bool ActionConditionContinue(ActionData action_data)
void PlayActionStartSound(ActionData action_data)
override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
string m_SoundsetBuildLoop
override void OnStartClient(ActionData action_data)
override ActionData CreateActionData()
override bool HasProgress()
void ActionBuildShelter()
override void CreateConditionComponents()
override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
override bool HasAlternativeInterrupt()
void PlayActionLoopSound(ActionData action_data)
void PlayActionFinishSound(ActionData action_data)
void ~ActionBuildShelter()
override void OnEnd(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override void OnFinishProgressClient(ActionData action_data)
string m_SoundsetBuildStart
override bool UseMainItem()
override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
void StopActionLoopSound()
override void OnEndClient(ActionData action_data)
void DestroyActionLoopSound()
override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
void DetermineConstructionSounds(ActionData action_data)
override void OnStartAnimationLoopClient(ActionData action_data)
override void OnStart(ActionData action_data)
override string GetText()
ref protected EffectSound m_BuildLoopSound
string m_SoundsetBuildFinish
ref ActionTarget m_Target
protected int m_CommandUID
protected m_CallbackClass
ConstructionPart GetBuildPartNoToolAtIndex(int idx)
Wrapper class for managing sound through SEffectManager.
bool IsSoundPlaying()
Get whether EffectSound is currently playing.
void SetSoundFadeOut(float fade_out)
Set the sound fade out duration.
void SoundStop()
Stops sound.
override void SetAutodestroy(bool auto_destroy)
Sets whether Effect automatically cleans up when it stops.
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Manager class for managing Effect (EffectParticle, EffectSound)
static void DestroyEffect(Effect effect)
Unregisters, stops and frees the Effect.
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.
Serialization general interface. Serializer API works with:
proto bool Write(void value_out)
proto bool Read(void value_in)
DayZPlayerConstants
defined in C++
proto native CGame GetGame()