Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
largetent.c
Go to the documentation of this file.
2 {
3  REPACK = 1,
4  NONE = 0,
5 }
6 
7 class LargeTent extends TentBase
8 {
9  ref protected EffectSound m_RepackingLoopSound;
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 
38  void ~LargeTent()
39  {
40  SEffectManager.DestroyEffect( m_RepackingLoopSound );
41  }
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 
156  override void SetActions()
157  {
158  super.SetActions();
159 
160  //AddAction(ActionRepackTent);
161  }
162 };
GetSoundClose
override string GetSoundClose()
Definition: largetent.c:101
GetGame
proto native CGame GetGame()
OnRPC
override void OnRPC(PlayerIdentity sender, int rpc_type, ParamsReadContext ctx)
Definition: largetent.c:43
LargeTent
void LargeTent()
Definition: largetent.c:11
OnItemLocationChanged
override void OnItemLocationChanged(EntityAI old_owner, EntityAI new_owner)
Definition: largetent.c:91
GetSoundOpenWindow
override string GetSoundOpenWindow()
Definition: largetent.c:106
OnPlacementComplete
override void OnPlacementComplete(Man player, vector position="0 0 0", vector orientation="0 0 0")
Definition: largetent.c:130
m_HalfExtents
Container_Base m_HalfExtents
~LargeTent
void ~LargeTent()
Definition: largetent.c:38
SoundTypeTent
SoundTypeTent
Definition: largetent.c:1
ECE_PLACE_ON_SURFACE
const int ECE_PLACE_ON_SURFACE
Definition: centraleconomy.c:37
GetSoundOpen
override string GetSoundOpen()
Definition: largetent.c:96
GetLoopDeploySoundset
override string GetLoopDeploySoundset()
Definition: largetent.c:151
Serializer
Serialization general interface. Serializer API works with:
Definition: serializer.c:55
PlayerIdentity
The class that will be instanced (moddable)
Definition: gameplay.c:377
GetPosition
class JsonUndergroundAreaTriggerData GetPosition
Definition: undergroundarealoader.c:9
EffectSound
Wrapper class for managing sound through SEffectManager.
Definition: effectsound.c:4
GetClutterCutter
override string GetClutterCutter()
Definition: largetent.c:121
PlayerBase
Definition: playerbaseclient.c:1
vector
Definition: enconvert.c:105
m_ClutterCutter
protected Object m_ClutterCutter
Definition: fireplacebase.c:211
HasClutterCutter
override bool HasClutterCutter()
Definition: largetent.c:116
TentBase
Definition: cartent.c:1
EEInit
override void EEInit()
Definition: largetent.c:86
GetSoundCloseWindow
override string GetSoundCloseWindow()
Definition: largetent.c:111
ToggleAnimations
Definition: toggleselections.c:1
REPACK
@ REPACK
Definition: largetent.c:3
NONE
@ NONE
Definition: largetent.c:4
m_RepackingLoopSound
enum SoundTypeTent m_RepackingLoopSound
StopRepackingLoopSound
void StopRepackingLoopSound()
Definition: largetent.c:80
SEffectManager
Manager class for managing Effect (EffectParticle, EffectSound)
Definition: effectmanager.c:5
Vector
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
GetDeploySoundset
override string GetDeploySoundset()
Definition: largetent.c:146
EntityAI
Definition: building.c:5
SetActions
override void SetActions()
Definition: largetent.c:156
PlayRepackingLoopSound
void PlayRepackingLoopSound()
Definition: largetent.c:72