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

◆ UpdateGeyserState()

void GeyserTrigger::UpdateGeyserState ( )
inlineprotected

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

90 {
91 if (m_GeyserState == EGeyserState.DORMANT && !m_bIsDormant)
92 {
93 if (IsSubmerged())
94 {
96 m_GeyserBubblesParticle = ParticleManager.GetInstance().PlayInWorld(ParticleList.GEYSER_BUBBLES, GetAdjustedPosition());
97 m_SoundBubbling = SEffectManager.PlaySound(SOUND_BUBBLING, GetAdjustedPosition(), 0, 0, true);
98 }
99
100 m_bIsDormant = true;
101 }
102 else if (m_GeyserState != EGeyserState.DORMANT && m_bIsDormant)
103 {
105 m_SoundBubbling.Stop();
106 m_bIsDormant = false;
107 }
108
109 if ((m_GeyserState & EGeyserState.ERUPTING_PRIMARY) && !m_bIsErupting)
110 {
111 vector posErupt = GetAdjustedPosition(3);
112 m_GeyserParticle = ParticleManager.GetInstance().PlayInWorld(ParticleList.GEYSER_NORMAL, posErupt);
113
114 m_SoundEruption = SEffectManager.PlaySound(SOUND_ERUPTION, posErupt, 0, 0, true);
115
116 m_bIsErupting = true;
117 }
118 else if (((m_GeyserState & EGeyserState.ERUPTING_PRIMARY) == 0) && m_bIsErupting)
119 {
120 m_GeyserParticle.StopParticle();
121 m_SoundEruption.Stop();
122 m_bIsErupting = false;
123 }
124
125 if ((m_GeyserState & EGeyserState.ERUPTING_SECONDARY) && !m_bIsEruptingTall)
126 {
127 vector posTall = GetAdjustedPosition(5);
128 m_GeyserTallParticle = ParticleManager.GetInstance().PlayInWorld(ParticleList.GEYSER_STRONG, posTall);
129
130 m_SoundEruptionSecondary = SEffectManager.PlaySound(SOUND_ERUPTION_TALL, posTall, 0, 0, true);
131
132 m_bIsEruptingTall = true;
133 }
134 else if (((m_GeyserState & EGeyserState.ERUPTING_SECONDARY) == 0) && m_bIsEruptingTall)
135 {
136 m_GeyserTallParticle.StopParticle();
138 m_bIsEruptingTall = false;
139 }
140 }
EGeyserState
Определения GeyserArea.c:2
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
Определения ParticleManager.c:88
const string SOUND_ERUPTION_TALL
Определения GeyserTrigger.c:6
EffectSound m_SoundEruptionSecondary
Определения GeyserTrigger.c:21
ParticleSource m_GeyserParticle
Определения GeyserTrigger.c:17
ParticleSource m_GeyserTallParticle
Определения GeyserTrigger.c:18
EffectSound m_SoundBubbling
Определения GeyserTrigger.c:19
vector GetAdjustedPosition(float height=0)
Определения GeyserTrigger.c:149
bool IsSubmerged()
Определения GeyserTrigger.c:205
const string SOUND_ERUPTION
Определения GeyserTrigger.c:5
bool m_bIsDormant
Определения GeyserTrigger.c:8
bool m_bIsErupting
Определения GeyserTrigger.c:9
EffectSound m_SoundEruption
Определения GeyserTrigger.c:20
bool m_bIsEruptingTall
Определения GeyserTrigger.c:10
const string SOUND_BUBBLING
Определения GeyserTrigger.c:4
void RandomizeMouthPos()
Определения GeyserTrigger.c:143
ParticleSource m_GeyserBubblesParticle
Определения GeyserTrigger.c:16
EGeyserState m_GeyserState
Определения GeyserTrigger.c:14

Перекрестные ссылки GetAdjustedPosition(), ParticleList::GEYSER_BUBBLES, ParticleList::GEYSER_NORMAL, ParticleList::GEYSER_STRONG, IsSubmerged(), m_bIsDormant, m_bIsErupting, m_bIsEruptingTall, m_GeyserBubblesParticle, m_GeyserParticle, m_GeyserState, m_GeyserTallParticle, m_SoundBubbling, m_SoundEruption, m_SoundEruptionSecondary, ParticleManager(), SEffectManager::PlaySound(), RandomizeMouthPos(), SOUND_BUBBLING, SOUND_ERUPTION и SOUND_ERUPTION_TALL.

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