Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
largetent.c
Go to the documentation of this file.
2{
3 REPACK = 1,
4 NONE = 0,
5}
6
7class LargeTent extends TentBase
8{
10
11 void LargeTent()
12 {
13 m_ToggleAnimations.Insert( new ToggleAnimations("EntranceO", "EntranceC", OPENING_0), 0 );
14 m_ToggleAnimations.Insert( new ToggleAnimations("Window1O", "Window1C", OPENING_1), 0 );
15 m_ToggleAnimations.Insert( new ToggleAnimations("Window2O", "Window2C", OPENING_2), 0 );
16 m_ToggleAnimations.Insert( new ToggleAnimations("Window3O", "Window3C", OPENING_3), 0 );
17 m_ToggleAnimations.Insert( new ToggleAnimations("Window4O", "Window4C", OPENING_4), 0 );
18 m_ToggleAnimations.Insert( new ToggleAnimations("Window5O", "Window5C", OPENING_5), 0 );
19 m_ToggleAnimations.Insert( new ToggleAnimations("Window6O", "Window6C", OPENING_6), 0 );
20 m_ToggleAnimations.Insert( new ToggleAnimations("Window7O", "Window7C", OPENING_7), 0 );
21
22 m_ShowAnimationsWhenPitched.Insert( "Body" );
23 /*m_ShowAnimationsWhenPitched.Insert( "EntranceO" );
24 m_ShowAnimationsWhenPitched.Insert( "Window1O" );
25 m_ShowAnimationsWhenPitched.Insert( "Window2O" );
26 m_ShowAnimationsWhenPitched.Insert( "Window3O" );
27 m_ShowAnimationsWhenPitched.Insert( "Window4O" );
28 m_ShowAnimationsWhenPitched.Insert( "Window5O" );
29 m_ShowAnimationsWhenPitched.Insert( "Window6O" );
30 m_ShowAnimationsWhenPitched.Insert( "Window7O" );*/
31 m_ShowAnimationsWhenPitched.Insert( "Pack" );
32
33 m_ShowAnimationsWhenPacked.Insert( "Inventory" );
34
35 m_HalfExtents = Vector(2.2, 0.3, 1.9);
36 }
37
42
43 override void OnRPC(PlayerIdentity sender, int rpc_type,ParamsReadContext ctx)
44 {
45 super.OnRPC(sender, rpc_type, ctx);
46
47 Param1<bool> p = new Param1<bool>(false);
48
49 if (ctx.Read(p))
50 {
51 bool play = p.param1;
52 }
53
54 switch (rpc_type)
55 {
56 case SoundTypeTent.REPACK:
57
58 if ( play )
59 {
61 }
62
63 if ( !play )
64 {
66 }
67
68 break;
69 }
70 }
71
73 {
74 if ( !m_RepackingLoopSound || !m_RepackingLoopSound.IsSoundPlaying() )
75 {
76 m_RepackingLoopSound = SEffectManager.PlaySound( "largetent_deploy_SoundSet", GetPosition(), 0.5, 0.5 );
77 }
78 }
79
81 {
82 m_RepackingLoopSound.SetSoundFadeOut(0.5);
83 m_RepackingLoopSound.SoundStop();
84 }
85
86 override void EEInit()
87 {
88 super.EEInit();
89 }
90
91 override void OnItemLocationChanged(EntityAI old_owner, EntityAI new_owner)
92 {
93 super.OnItemLocationChanged(old_owner, new_owner);
94 }
95
96 override string GetSoundOpen()
97 {
98 return "LargeTent_Door_Open_SoundSet";
99 }
100
101 override string GetSoundClose()
102 {
103 return "LargeTent_Door_Close_SoundSet";
104 }
105
106 override string GetSoundOpenWindow()
107 {
108 return "LargeTent_Window_Open_SoundSet";
109 }
110
111 override string GetSoundCloseWindow()
112 {
113 return "LargeTent_Window_Close_SoundSet";
114 }
115
116 override bool HasClutterCutter()
117 {
118 return true;
119 }
120
121 override string GetClutterCutter()
122 {
123 return "LargeTentClutterCutter";
124 }
125
126 //================================================================
127 // ADVANCED PLACEMENT
128 //================================================================
129
130 override void OnPlacementComplete( Man player, vector position = "0 0 0", vector orientation = "0 0 0" )
131 {
132 super.OnPlacementComplete( player, position, orientation );
133
134 PlayerBase pb = PlayerBase.Cast( player );
135
136 if ( GetGame().IsServer() )
137 {
138 if ( !m_ClutterCutter )
139 {
140 m_ClutterCutter = GetGame().CreateObjectEx( "LargeTentClutterCutter", pb.GetLocalProjectionPosition(), ECE_PLACE_ON_SURFACE );
141 m_ClutterCutter.SetOrientation( pb.GetLocalProjectionOrientation() );
142 }
143 }
144 }
145
146 override string GetDeploySoundset()
147 {
148 return "placeLargeTent_SoundSet";
149 }
150
151 override string GetLoopDeploySoundset()
152 {
153 return "largetent_deploy_SoundSet";
154 }
155};
const int ECE_PLACE_ON_SURFACE
Wrapper class for managing sound through SEffectManager.
Definition effectsound.c:5
The class that will be instanced (moddable)
Definition gameplay.c:389
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:
Definition serializer.c:56
Container_Base m_HalfExtents
ContaminatedArea_Base EffectArea EEInit()
override void OnPlacementComplete(Man player, vector position="0 0 0", vector orientation="0 0 0")
Object m_ClutterCutter
proto native CGame GetGame()
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
class JsonUndergroundAreaTriggerData GetPosition
string GetDeploySoundset()
string GetLoopDeploySoundset()
Definition largetent.c:151
void StopRepackingLoopSound()
Definition largetent.c:80
void LargeTent()
Definition largetent.c:11
override bool HasClutterCutter()
Definition largetent.c:116
override string GetSoundClose()
Definition largetent.c:101
override string GetClutterCutter()
Definition largetent.c:121
enum SoundTypeTent m_RepackingLoopSound
override string GetSoundOpen()
Definition largetent.c:96
void ~LargeTent()
Definition largetent.c:38
SoundTypeTent
Definition largetent.c:2
@ REPACK
Definition largetent.c:3
@ NONE
Definition largetent.c:4
override string GetSoundCloseWindow()
Definition largetent.c:111
void PlayRepackingLoopSound()
Definition largetent.c:72
override string GetSoundOpenWindow()
Definition largetent.c:106
override void OnRPC(ParamsReadContext ctx)