DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ UpdateGeyserState()

void GeyserTrigger::UpdateGeyserState ( )
inlineprotected

См. определение в файле GeyserTrigger.c строка 99

100 {
101 #ifdef ENABLE_LOGGING
102 #ifdef GEYSER_LOGGING
103 Debug.Log("UpdateGeyserState, state: " + m_GeyserState);
104 #endif
105 #endif
106
108 {
109 m_bIsDormant = true;
110 }
111 else if (!CheckGeyserState(EGeyserState.DORMANT) && m_bIsDormant)
112 {
113 m_bIsDormant = false;
114 }
115
116 if (CheckGeyserState(EGeyserState.ERUPTION_SOON) && !m_bIsEruptingSoon)
117 {
118 m_GeyserBubblesParticle = ParticleManager.GetInstance().PlayInWorld(ParticleList.GEYSER_BUBBLES, m_DefaultPosition);
119 m_SoundBubbling = SEffectManager.PlaySound(SOUND_BUBBLING, m_DefaultPosition, 2, 2, true);
120
121 m_bIsEruptingSoon = true;
122 }
123 else if (!CheckGeyserState(EGeyserState.ERUPTION_SOON) && m_bIsEruptingSoon)
124 {
126 m_GeyserBubblesParticle.StopParticle();
127 if (m_SoundBubbling)
128 SEffectManager.DestroyEffect(m_SoundBubbling);
129
130 m_bIsEruptingSoon = false;
131 }
132
133 if (CheckGeyserState(EGeyserState.ERUPTING_PRIMARY) && !m_bIsErupting)
134 {
135 m_GeyserParticle = ParticleManager.GetInstance().PlayInWorld(ParticleList.GEYSER_NORMAL, m_DefaultPosition);
136
137 m_SoundEruptionStart = SEffectManager.PlaySound(SOUND_ERUPTION_START, m_DefaultPosition, 0, 0, false);
138 m_SoundEruption = SEffectManager.PlaySound(SOUND_ERUPTION, m_DefaultPosition, 2, 2, true);
139
140 m_bIsErupting = true;
141 }
142 else if (!CheckGeyserState(EGeyserState.ERUPTING_PRIMARY) && m_bIsErupting)
143 {
145 m_GeyserParticle.StopParticle();
146
148 SEffectManager.DestroyEffect(m_SoundEruptionStart);
149 if (m_SoundEruption)
150 SEffectManager.DestroyEffect(m_SoundEruption);
151
152 m_bIsErupting = false;
153 }
154
155 bool geyserStateEruptSecond = CheckGeyserState(EGeyserState.ERUPTING_SECONDARY);
156 if (geyserStateEruptSecond && !m_bIsEruptingTall)
157 {
158 m_GeyserTallParticle = ParticleManager.GetInstance().PlayInWorld(ParticleList.GEYSER_STRONG, m_DefaultPosition);
159
160 m_SoundEruptionSecondaryStart = SEffectManager.PlaySound(SOUND_ERUPTION_TALL_START, m_DefaultPosition, 0, 0, false);
161 m_SoundEruptionSecondary = SEffectManager.PlaySound(SOUND_ERUPTION_TALL, m_DefaultPosition, 0, 0, false);
162
163 m_bIsEruptingTall = true;
164 }
165 else if (!geyserStateEruptSecond && m_bIsEruptingTall)
166 {
167 m_GeyserSplashParticle = ParticleManager.GetInstance().PlayInWorld(ParticleList.GEYSER_SPLASH, m_DefaultPosition);
168 m_SoundEruptionSecondaryEnd = SEffectManager.PlaySound(SOUND_ERUPTION_TALL_END, m_DefaultPosition, 0, 0, false);
169
170 StopEruption();
171 }
172 else if (geyserStateEruptSecond && m_bIsEruptingTall)
173 {
174 StopEruption();
175 }
176 }
string Debug()
Определения CachedEquipmentStorageBase.c:26
EGeyserState
Определения GeyserArea.c:4
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
Определения ParticleManager.c:88
const string SOUND_ERUPTION_TALL
Определения GeyserTrigger.c:9
EffectSound m_SoundEruptionSecondary
Определения GeyserTrigger.c:29
ParticleSource m_GeyserParticle
Определения GeyserTrigger.c:23
ParticleSource m_GeyserTallParticle
Определения GeyserTrigger.c:24
const string SOUND_ERUPTION_START
Определения GeyserTrigger.c:8
EffectSound m_SoundBubbling
Определения GeyserTrigger.c:26
bool CheckGeyserState(EGeyserState state)
Определения GeyserTrigger.c:252
EffectSound m_SoundEruptionSecondaryStart
Определения GeyserTrigger.c:30
const string SOUND_ERUPTION_TALL_START
Определения GeyserTrigger.c:10
bool m_bIsEruptingSoon
Определения GeyserTrigger.c:14
const string SOUND_ERUPTION
Определения GeyserTrigger.c:7
ParticleSource m_GeyserSplashParticle
Определения GeyserTrigger.c:25
void StopEruption()
Определения GeyserTrigger.c:178
bool m_bIsDormant
Определения GeyserTrigger.c:13
bool m_bIsErupting
Определения GeyserTrigger.c:15
vector m_DefaultPosition
Определения GeyserTrigger.c:19
EffectSound m_SoundEruption
Определения GeyserTrigger.c:27
bool m_bIsEruptingTall
Определения GeyserTrigger.c:16
const string SOUND_BUBBLING
Определения GeyserTrigger.c:6
const string SOUND_ERUPTION_TALL_END
Определения GeyserTrigger.c:11
EffectSound m_SoundEruptionStart
Определения GeyserTrigger.c:28
ParticleSource m_GeyserBubblesParticle
Определения GeyserTrigger.c:22
EffectSound m_SoundEruptionSecondaryEnd
Определения GeyserTrigger.c:31
EGeyserState m_GeyserState
Определения GeyserTrigger.c:20

Перекрестные ссылки CheckGeyserState(), SEffectManager::DestroyEffect(), ParticleList::GEYSER_BUBBLES, ParticleList::GEYSER_NORMAL, ParticleList::GEYSER_SPLASH, ParticleList::GEYSER_STRONG, Debug::Log(), m_bIsDormant, m_bIsErupting, m_bIsEruptingSoon, m_bIsEruptingTall, m_DefaultPosition, m_GeyserBubblesParticle, m_GeyserParticle, m_GeyserSplashParticle, m_GeyserState, m_GeyserTallParticle, m_SoundBubbling, m_SoundEruption, m_SoundEruptionSecondary, m_SoundEruptionSecondaryEnd, m_SoundEruptionSecondaryStart, m_SoundEruptionStart, ParticleManager(), SEffectManager::PlaySound(), SOUND_BUBBLING, SOUND_ERUPTION, SOUND_ERUPTION_START, SOUND_ERUPTION_TALL, SOUND_ERUPTION_TALL_END, SOUND_ERUPTION_TALL_START и StopEruption().

Используется в DeferredInit() и OnVariablesSynchronized().