DayZ 1.24
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
44 {
45 super.OnRPC(sender, rpc_type, ctx);
46
47 Param1<bool> p = new Param1<bool>(false);
48
49 if (ctx.Read(p))
50 bool play = p.param1;
51
52 switch (rpc_type)
53 {
54 case SoundTypeTent.REPACK:
55
56 if (play)
58
59 if (!play)
61
62 break;
63 }
64 }
65
67 {
68 if (!m_RepackingLoopSound || !m_RepackingLoopSound.IsSoundPlaying())
69 m_RepackingLoopSound = SEffectManager.PlaySound("largetent_deploy_SoundSet", GetPosition(), 0.5, 0.5);
70 }
71
73 {
74 m_RepackingLoopSound.SetSoundFadeOut(0.5);
75 m_RepackingLoopSound.SoundStop();
76 }
77
78 override void EEInit()
79 {
80 super.EEInit();
81 }
82
84 {
85 super.OnItemLocationChanged(old_owner, new_owner);
86 }
87
88 override string GetSoundOpen()
89 {
90 return "LargeTent_Door_Open_SoundSet";
91 }
92
93 override string GetSoundClose()
94 {
95 return "LargeTent_Door_Close_SoundSet";
96 }
97
98 override string GetSoundOpenWindow()
99 {
100 return "LargeTent_Window_Open_SoundSet";
101 }
102
103 override string GetSoundCloseWindow()
104 {
105 return "LargeTent_Window_Close_SoundSet";
106 }
107
108 override bool HasClutterCutter()
109 {
110 return true;
111 }
112
113 override string GetClutterCutter()
114 {
115 return "LargeTentClutterCutter";
116 }
117
118 //================================================================
119 // ADVANCED PLACEMENT
120 //================================================================
121
122 override void OnPlacementComplete(Man player, vector position = "0 0 0", vector orientation = "0 0 0")
123 {
124 super.OnPlacementComplete(player, position, orientation);
125
127
128 if (GetGame().IsServer())
129 {
130 if (!m_ClutterCutter)
131 {
132 m_ClutterCutter = GetGame().CreateObjectEx("LargeTentClutterCutter", pb.GetLocalProjectionPosition(), ECE_PLACE_ON_SURFACE);
133 m_ClutterCutter.SetOrientation(pb.GetLocalProjectionOrientation());
134 }
135 }
136 }
137
138 override string GetDeploySoundset()
139 {
140 return "placeLargeTent_SoundSet";
141 }
142
143 override string GetLoopDeploySoundset()
144 {
145 return "largetent_deploy_SoundSet";
146 }
147
148 override void SetActions()
149 {
150 super.SetActions();
151
152 //AddAction(ActionRepackTent);
153 }
154};
const int ECE_PLACE_ON_SURFACE
Container_Base m_HalfExtents
void OnRPC(ParamsReadContext ctx)
Object m_ClutterCutter
void StopRepackingLoopSound()
Definition LargeTent.c:72
void LargeTent()
Definition LargeTent.c:11
enum SoundTypeTent m_RepackingLoopSound
void ~LargeTent()
Definition LargeTent.c:38
SoundTypeTent
Definition LargeTent.c:2
@ REPACK
Definition LargeTent.c:3
@ NONE
Definition LargeTent.c:4
void PlayRepackingLoopSound()
Definition LargeTent.c:66
class JsonUndergroundAreaTriggerData GetPosition
Wrapper class for managing sound through SEffectManager.
Definition EffectSound.c:5
The class that will be instanced (moddable)
Definition gameplay.c:376
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
override void OnItemLocationChanged(EntityAI old_owner, EntityAI new_owner)
Definition CarTent.c:21
override string GetSoundClose()
Definition CarTent.c:31
override string GetClutterCutter()
Definition MediumTent.c:41
override string GetSoundOpen()
Definition CarTent.c:26
override void SetActions()
Definition Shelter.c:13
override string GetSoundCloseWindow()
Definition PartyTent.c:41
override bool HasClutterCutter()
Definition CarTent.c:36
override void EEInit()
Definition CarTent.c:16
override string GetDeploySoundset()
Definition CarTent.c:50
override string GetSoundOpenWindow()
Definition PartyTent.c:36
override void OnPlacementComplete(Man player, vector position="0 0 0", vector orientation="0 0 0")
Definition MediumTent.c:50
override string GetLoopDeploySoundset()
Definition CarTent.c:55
proto native CGame GetGame()
proto native vector Vector(float x, float y, float z)
Vector constructor from components.