123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- enum SoundTypeTent
- {
- REPACK = 1,
- NONE = 0,
- }
- class LargeTent extends TentBase
- {
- ref protected EffectSound m_RepackingLoopSound;
-
- void LargeTent()
- {
- m_ToggleAnimations.Insert( new ToggleAnimations("EntranceO", "EntranceC", OPENING_0), 0 );
- m_ToggleAnimations.Insert( new ToggleAnimations("Window1O", "Window1C", OPENING_1), 0 );
- m_ToggleAnimations.Insert( new ToggleAnimations("Window2O", "Window2C", OPENING_2), 0 );
- m_ToggleAnimations.Insert( new ToggleAnimations("Window3O", "Window3C", OPENING_3), 0 );
- m_ToggleAnimations.Insert( new ToggleAnimations("Window4O", "Window4C", OPENING_4), 0 );
- m_ToggleAnimations.Insert( new ToggleAnimations("Window5O", "Window5C", OPENING_5), 0 );
- m_ToggleAnimations.Insert( new ToggleAnimations("Window6O", "Window6C", OPENING_6), 0 );
- m_ToggleAnimations.Insert( new ToggleAnimations("Window7O", "Window7C", OPENING_7), 0 );
-
- m_ShowAnimationsWhenPitched.Insert( "Body" );
- /*m_ShowAnimationsWhenPitched.Insert( "EntranceO" );
- m_ShowAnimationsWhenPitched.Insert( "Window1O" );
- m_ShowAnimationsWhenPitched.Insert( "Window2O" );
- m_ShowAnimationsWhenPitched.Insert( "Window3O" );
- m_ShowAnimationsWhenPitched.Insert( "Window4O" );
- m_ShowAnimationsWhenPitched.Insert( "Window5O" );
- m_ShowAnimationsWhenPitched.Insert( "Window6O" );
- m_ShowAnimationsWhenPitched.Insert( "Window7O" );*/
- m_ShowAnimationsWhenPitched.Insert( "Pack" );
-
- m_ShowAnimationsWhenPacked.Insert( "Inventory" );
-
- m_HalfExtents = Vector(2.2, 0.3, 1.9);
- }
-
- void ~LargeTent()
- {
- SEffectManager.DestroyEffect( m_RepackingLoopSound );
- }
-
- override void OnRPC(PlayerIdentity sender, int rpc_type,ParamsReadContext ctx)
- {
- super.OnRPC(sender, rpc_type, ctx);
-
- Param1<bool> p = new Param1<bool>(false);
-
- if (ctx.Read(p))
- {
- bool play = p.param1;
- }
-
- switch (rpc_type)
- {
- case SoundTypeTent.REPACK:
-
- if ( play )
- {
- PlayRepackingLoopSound();
- }
-
- if ( !play )
- {
- StopRepackingLoopSound();
- }
-
- break;
- }
- }
-
- void PlayRepackingLoopSound()
- {
- if ( !m_RepackingLoopSound || !m_RepackingLoopSound.IsSoundPlaying() )
- {
- m_RepackingLoopSound = SEffectManager.PlaySound( "largetent_deploy_SoundSet", GetPosition(), 0.5, 0.5 );
- }
- }
-
- void StopRepackingLoopSound()
- {
- m_RepackingLoopSound.SetSoundFadeOut(0.5);
- m_RepackingLoopSound.SoundStop();
- }
-
- override void EEInit()
- {
- super.EEInit();
- }
-
- override void OnItemLocationChanged(EntityAI old_owner, EntityAI new_owner)
- {
- super.OnItemLocationChanged(old_owner, new_owner);
- }
-
- override string GetSoundOpen()
- {
- return "LargeTent_Door_Open_SoundSet";
- }
-
- override string GetSoundClose()
- {
- return "LargeTent_Door_Close_SoundSet";
- }
-
- override string GetSoundOpenWindow()
- {
- return "LargeTent_Window_Open_SoundSet";
- }
-
- override string GetSoundCloseWindow()
- {
- return "LargeTent_Window_Close_SoundSet";
- }
-
- override bool HasClutterCutter()
- {
- return true;
- }
-
- override string GetClutterCutter()
- {
- return "LargeTentClutterCutter";
- }
-
- //================================================================
- // ADVANCED PLACEMENT
- //================================================================
- override void OnPlacementComplete( Man player, vector position = "0 0 0", vector orientation = "0 0 0" )
- {
- super.OnPlacementComplete( player, position, orientation );
-
- PlayerBase pb = PlayerBase.Cast( player );
-
- if ( GetGame().IsServer() )
- {
- if ( !m_ClutterCutter )
- {
- m_ClutterCutter = GetGame().CreateObjectEx( "LargeTentClutterCutter", pb.GetLocalProjectionPosition(), ECE_PLACE_ON_SURFACE );
- m_ClutterCutter.SetOrientation( pb.GetLocalProjectionOrientation() );
- }
- }
- }
-
- override string GetDeploySoundset()
- {
- return "placeLargeTent_SoundSet";
- }
-
- override string GetLoopDeploySoundset()
- {
- return "largetent_deploy_SoundSet";
- }
- };
|