Added sound when time is less than 5 s in time based challenges (#4523)
This commit is contained in:
parent
0d84350ab7
commit
6e83c825ca
@ -942,6 +942,34 @@ void World::moveKartTo(AbstractKart* kart, const btTransform &transform)
|
||||
|
||||
} // moveKartTo
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
void World::updateTimeTargetSound()
|
||||
{
|
||||
if (RaceManager::get()->hasTimeTarget() && !RewindManager::get()->isRewinding())
|
||||
{
|
||||
float time_elapsed = getTime();
|
||||
float time_target = RaceManager::get()->getTimeTarget();
|
||||
if (RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_SOCCER ||
|
||||
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_FREE_FOR_ALL ||
|
||||
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_CAPTURE_THE_FLAG)
|
||||
{
|
||||
if (time_elapsed <= 5 && getTimeTicks() % stk_config->time2Ticks(1.0f) == 0 &&
|
||||
!World::getWorld()->isRaceOver())
|
||||
{
|
||||
SFXManager::get()->quickSound("pre_start_race");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (time_target - time_elapsed <= 5 && stk_config->time2Ticks(1.0f) == 0 &&
|
||||
time_target - time_elapsed > 0)
|
||||
{
|
||||
SFXManager::get()->quickSound("pre_start_race");
|
||||
}
|
||||
}
|
||||
}
|
||||
} // updateTimeTargetSound
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
void World::schedulePause(Phase phase)
|
||||
{
|
||||
@ -1202,6 +1230,7 @@ void World::update(int ticks)
|
||||
PROFILER_POP_CPU_MARKER();
|
||||
|
||||
PROFILER_POP_CPU_MARKER();
|
||||
updateTimeTargetSound();
|
||||
|
||||
#ifdef DEBUG
|
||||
assert(m_magic_number == 0xB01D6543);
|
||||
|
@ -326,6 +326,7 @@ public:
|
||||
AbstractKart* getLocalPlayerKart(unsigned int n) const;
|
||||
virtual const btTransform &getStartTransform(int index);
|
||||
void moveKartTo(AbstractKart* kart, const btTransform &t);
|
||||
void updateTimeTargetSound();
|
||||
// ------------------------------------------------------------------------
|
||||
/** Returns a pointer to the race gui. */
|
||||
RaceGUIBase *getRaceGUI() const { return m_race_gui;}
|
||||
|
@ -428,7 +428,7 @@ void RaceGUI::drawGlobalTimer()
|
||||
|
||||
float elapsed_time = World::getWorld()->getTime();
|
||||
if (!RaceManager::get()->hasTimeTarget() ||
|
||||
RaceManager::get()->getMinorMode() ==RaceManager::MINOR_MODE_SOCCER ||
|
||||
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_SOCCER ||
|
||||
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_FREE_FOR_ALL ||
|
||||
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_CAPTURE_THE_FLAG)
|
||||
{
|
||||
@ -440,6 +440,8 @@ void RaceGUI::drawGlobalTimer()
|
||||
float time_target = RaceManager::get()->getTimeTarget();
|
||||
if (elapsed_time < time_target)
|
||||
{
|
||||
if(time_target-elapsed_time <= 5)
|
||||
time_color = video::SColor(255,255,255,0);
|
||||
sw = core::stringw (
|
||||
StringUtils::timeToString(time_target - elapsed_time).c_str());
|
||||
}
|
||||
@ -452,8 +454,14 @@ void RaceGUI::drawGlobalTimer()
|
||||
time_color = video::SColor(255,255,0,0);
|
||||
use_digit_font = false;
|
||||
}
|
||||
|
||||
}
|
||||
if(elapsed_time <= 5 && RaceManager::get()->hasTimeTarget() && (RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_SOCCER ||
|
||||
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_FREE_FOR_ALL ||
|
||||
RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_CAPTURE_THE_FLAG))
|
||||
{
|
||||
time_color = video::SColor(255,255,255,0);
|
||||
}
|
||||
|
||||
core::rect<s32> pos(irr_driver->getActualScreenSize().Width - dist_from_right,
|
||||
irr_driver->getActualScreenSize().Height*2/100,
|
||||
irr_driver->getActualScreenSize().Width,
|
||||
|
Loading…
x
Reference in New Issue
Block a user