Files
MinecraftConsoles/Minecraft.Client/Common/Audio/Consoles_SoundEngine.cpp

77 lines
1.7 KiB
C++

#include "stdafx.h"
#include "Consoles_SoundEngine.h"
bool ConsoleSoundEngine::GetIsPlayingStreamingCDMusic()
{
return m_bIsPlayingStreamingCDMusic;
}
bool ConsoleSoundEngine::GetIsPlayingStreamingGameMusic()
{
return m_bIsPlayingStreamingGameMusic;
}
void ConsoleSoundEngine::SetIsPlayingStreamingCDMusic(bool bVal)
{
m_bIsPlayingStreamingCDMusic=bVal;
}
void ConsoleSoundEngine::SetIsPlayingStreamingGameMusic(bool bVal)
{
m_bIsPlayingStreamingGameMusic=bVal;
}
bool ConsoleSoundEngine::GetIsPlayingEndMusic()
{
return m_bIsPlayingEndMusic;
}
bool ConsoleSoundEngine::GetIsPlayingNetherMusic()
{
return m_bIsPlayingNetherMusic;
}
void ConsoleSoundEngine::SetIsPlayingEndMusic(bool bVal)
{
m_bIsPlayingEndMusic=bVal;
}
void ConsoleSoundEngine::SetIsPlayingNetherMusic(bool bVal)
{
m_bIsPlayingNetherMusic=bVal;
}
void ConsoleSoundEngine::tick()
{
if (scheduledSounds.empty())
{
return;
}
for (auto it = scheduledSounds.begin(); it != scheduledSounds.end();)
{
SoundEngine::ScheduledSound *next = *it;
next->delay--;
if (next->delay <= 0)
{
play(next->iSound, next->x, next->y, next->z, next->volume, next->pitch);
it =scheduledSounds.erase(it);
delete next;
}
else
{
++it;
}
}
}
void ConsoleSoundEngine::schedule(int iSound, float x, float y, float z, float volume, float pitch, int delayTicks)
{
scheduledSounds.push_back(new SoundEngine::ScheduledSound(iSound, x, y, z, volume, pitch, delayTicks));
}
ConsoleSoundEngine::ScheduledSound::ScheduledSound(int iSound, float x, float y, float z, float volume, float pitch, int delay)
{
this->iSound = iSound;
this->x = x;
this->y = y;
this->z = z;
this->volume = volume;
this->pitch = pitch;
this->delay = delay;
}