4 const static int SOUNDS_SPARK_COUNT = 4;
5 const static int SOUNDS_CUT_COUNT = 3;
6 const static int SOUNDS_COLLISION_COUNT = 4;
7 const static int SOUNDS_SHOCK_COUNT = 4;
8 const static float RANDOM_SPARK_INTERVAL = 5.0;
10 const static string m_SoundsSpark[
SOUNDS_SPARK_COUNT] = {
"electricFenceSpark1",
"electricFenceSpark2",
"electricFenceSpark3",
"electricFenceSpark4"};
11 const static string m_SoundsCut[
SOUNDS_CUT_COUNT] = {
"barbedFenceCut1",
"barbedFenceCut2",
"barbedFenceCut3"};
12 const static string m_SoundsCollision[
SOUNDS_COLLISION_COUNT] = {
"barbedFenceCollision1",
"barbedFenceCollision2",
"barbedFenceCollision3",
"barbedFenceCollision4"};
13 const static string m_SoundsShock[
SOUNDS_SHOCK_COUNT] = {
"electricFenceShock1",
"electricFenceShock2",
"electricFenceShock3",
"electricFenceShock4"};
14 const static string m_SoundBuzzLoop =
"electricFenceBuzzLoop1";
28 const string SOUND_MOUNT =
"putDown_BarbedWire_SoundSet";
35 m_TriggerActive =
false;
39 RegisterNetSyncVariableBool(
"m_IsSoundSynchRemote");
40 RegisterNetSyncVariableBool(
"m_IsDeploySound");
41 RegisterNetSyncVariableBool(
"m_IsMounted");
125 super.OnVariablesSynchronized();
127 if ((m_IsMounted && !m_LastMountedState) || (!m_IsMounted && m_LastMountedState))
130 PlaySoundSet(m_MountSound, SOUND_MOUNT, 0.1, 0.1);
146 if (!
GetGame().IsDedicatedServer())
155 if (!
GetGame().IsDedicatedServer())
170 if (!
super.OnStoreLoad(
ctx, version))
188 super.AfterStoreLoad();
237 HideSelection(
"placing");
238 ShowSelection(
"zbytek");
241 GetCompEM().UnplugThis();
242 GetCompEM().UnplugAllDevices();
252 m_AreaDamage.SetHitZones({
"RightLeg",
"LeftLeg",
"RightFoot",
"LeftFoot"});
255 m_TriggerActive =
true;
262 m_AreaDamage.SetHitZones({
"RightLeg",
"LeftLeg",
"RightFoot",
"LeftFoot"});
265 m_TriggerActive =
true;
271 m_TriggerActive =
false;
324 if (!m_BuzzSoundLoop)
325 m_BuzzSoundLoop = PlaySoundLoop(m_SoundBuzzLoop, 50);
336 GetGame().ObjectDelete(m_BuzzSoundLoop);
337 m_BuzzSoundLoop =
NULL;
369 if (GetCompEM().IsPlugged() && GetCompEM().IsSwitchedOn())
408 HideSelection(
"zbytek");
410 if (!GetHierarchyParent())
412 if (GetCompEM().IsPlugged() && GetCompEM().IsWorking())
425 return "placeBarbedWire_SoundSet";
430 return "barbedwire_deploy_SoundSet";
void AddAction(typename actionName)
class BaseBuildingBase extends ItemBase bsbDebugPrint(string s)
ref AreaDamageManager m_AreaDamage
void SetIsDeploySound(bool is_deploy_sound)
bool CanPlayDeployLoopSound()
override void SetTakeable(bool pState)
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
ref EffectSound m_DeployLoopSound
class JsonUndergroundAreaTriggerData GetPosition
Wrapper class for managing sound through SEffectManager.
provides access to slot configuration
static proto native owned string GetSlotName(int id)
converts slot_id to string
void CreateElectrifiedDamageTrigger()
void DestroyDamageTrigger()
override void OnInventoryEnter(Man player)
override void OnWork(float consumed_energy)
override void OnIsPlugged(EntityAI source_device)
override bool OnStoreLoad(ParamsReadContext ctx, int version)
bool GetSlotLockedState()
override void OnWorkStart()
static const int SOUNDS_SHOCK_COUNT
override void OnItemLocationChanged(EntityAI old_owner, EntityAI new_owner)
void PlayDeployLoopSound()
override void SetActions()
ref AreaDamageManager m_AreaDamage
override void PostAreaDamageActions()
SoundOnVehicle m_BuzzSoundLoop
void CreateDamageTrigger()
override string GetDeploySoundset()
override void OnWorkStop()
override void OnStoreSave(ParamsWriteContext ctx)
override void AfterStoreLoad()
void SoundElectricShock()
void SetMountedState(bool is_mounted)
void LockAttachmentSlot(bool lock_state)
static const int SOUNDS_SPARK_COUNT
void SoundBuzzLoopStart()
override void OnVariablesSynchronized()
override void OnIsUnplugged(EntityAI last_energy_source)
EffectSound m_DeployLoopSound
override string GetLoopDeploySoundset()
static const int SOUNDS_COLLISION_COUNT
override void OnPlacementComplete(Man player, vector position="0 0 0", vector orientation="0 0 0")
override void PreAreaDamageActions()
void UpdateAttachmentSlot()
void StopDeployLoopSound()
static const int SOUNDS_CUT_COUNT
static bool IsBaseBuildingLogEnable()
static const int BARBED_WIRE_SPARKS
Manager class for managing Effect (EffectParticle, EffectSound)
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.
Serialization general interface. Serializer API works with:
override string GetDebugName()
proto native CGame GetGame()
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].