Made m_phase and m_auxiliary_timer private, and added
setPhase. Removed usage of auxiliary timer in overworld (instead set phase to race_phase) - as a result there is no mpre 'Go!' being displayed (which I think is actually better for the overworld). git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11225 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
81691b00c0
commit
a526fef588
@ -112,12 +112,11 @@ void OverWorld::update(float dt)
|
||||
// Skip annoying waiting without a purpose
|
||||
// Make sure to do all things that would normally happen in the
|
||||
// update() method of the base classes.
|
||||
if (m_phase < GO_PHASE)
|
||||
if (getPhase()< GO_PHASE)
|
||||
{
|
||||
m_phase = GO_PHASE;
|
||||
// Go message disappears at 3, music starts at 2.5
|
||||
m_auxiliary_timer = 2.0f;
|
||||
// Normally done in WorldStatus::update(), SET_PHASE
|
||||
setPhase(RACE_PHASE);
|
||||
// Normally done in WorldStatus::update(), during phase SET_PHASE,
|
||||
// so we have to start music 'manually', since we skip all phases.
|
||||
World::getWorld()->getTrack()->startMusic();
|
||||
}
|
||||
LinearWorld::update(dt);
|
||||
|
@ -43,7 +43,7 @@ ProfileWorld::ProfileWorld()
|
||||
// based profiling) - in case of time based profiling, the number of
|
||||
// laps is set to 99999.
|
||||
race_manager->setNumLaps(m_num_laps);
|
||||
m_phase = RACE_PHASE;
|
||||
setPhase(RACE_PHASE);
|
||||
m_frame_count = 0;
|
||||
m_start_time = irr_driver->getRealTime();
|
||||
m_num_triangles = 0;
|
||||
|
@ -130,6 +130,6 @@ void StandardRace::endRaceEarly()
|
||||
);
|
||||
} // Finish the active players
|
||||
endSetKartPositions();
|
||||
m_phase = RESULT_DISPLAY_PHASE;
|
||||
setPhase(RESULT_DISPLAY_PHASE);
|
||||
terminateRace();
|
||||
} // endRaceEarly
|
||||
|
@ -607,8 +607,8 @@ void World::updateWorld(float dt)
|
||||
}
|
||||
|
||||
// Don't update world if a menu is shown or the race is over.
|
||||
if( m_phase == FINISH_PHASE ||
|
||||
m_phase == IN_GAME_MENU_PHASE )
|
||||
if( getPhase() == FINISH_PHASE ||
|
||||
getPhase() == IN_GAME_MENU_PHASE )
|
||||
return;
|
||||
|
||||
update(dt);
|
||||
|
@ -92,6 +92,7 @@ protected:
|
||||
float m_time;
|
||||
ClockType m_clock_mode;
|
||||
|
||||
private:
|
||||
Phase m_phase;
|
||||
|
||||
/**
|
||||
@ -110,43 +111,53 @@ public:
|
||||
virtual ~WorldStatus();
|
||||
|
||||
void reset();
|
||||
|
||||
// Note: GO_PHASE is both: start phase and race phase
|
||||
bool isStartPhase() const { return m_phase<GO_PHASE; }
|
||||
bool isRacePhase() const { return m_phase>=GO_PHASE &&
|
||||
m_phase<FINISH_PHASE; }
|
||||
/** While the race menu is being displayed, m_phase is limbo, and
|
||||
* m_previous_phase is finish. So we have to test this case, too. */
|
||||
bool isFinishPhase() const { return m_phase==FINISH_PHASE ||
|
||||
(m_phase==IN_GAME_MENU_PHASE &&
|
||||
m_previous_phase==FINISH_PHASE);}
|
||||
const Phase getPhase() const { return m_phase; }
|
||||
|
||||
/** Call to specify what kind of clock you want. The second argument
|
||||
* can be used to specify the initial time value (especially useful
|
||||
* for countdowns). */
|
||||
void setClockMode(const ClockType mode, const float initial_time=0.0f);
|
||||
|
||||
/** Returns the current clock mode. */
|
||||
int getClockMode() const { return m_clock_mode; }
|
||||
|
||||
/** Returns the current race time. */
|
||||
float getTime() const { return m_time; }
|
||||
|
||||
/** Call each frame, with the elapsed time as argument. */
|
||||
void update(const float dt);
|
||||
|
||||
void setTime(const float time);
|
||||
|
||||
void update(const float dt);
|
||||
void setTime(const float time);
|
||||
virtual void pause(Phase phase);
|
||||
virtual void unpause();
|
||||
virtual void enterRaceOverState();
|
||||
virtual void terminateRace();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Note: GO_PHASE is both: start phase and race phase
|
||||
bool isStartPhase() const { return m_phase<GO_PHASE; }
|
||||
// ------------------------------------------------------------------------
|
||||
bool isRacePhase() const { return m_phase>=GO_PHASE &&
|
||||
m_phase<FINISH_PHASE; }
|
||||
// ------------------------------------------------------------------------
|
||||
/** While the race menu is being displayed, m_phase is limbo, and
|
||||
* m_previous_phase is finish. So we have to test this case, too. */
|
||||
bool isFinishPhase() const { return m_phase==FINISH_PHASE ||
|
||||
(m_phase==IN_GAME_MENU_PHASE &&
|
||||
m_previous_phase==FINISH_PHASE);}
|
||||
// ------------------------------------------------------------------------
|
||||
/** Returns the current race phase. */
|
||||
const Phase getPhase() const { return m_phase; }
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
/** Sets the current race phase. Canbe used to e.g. avoid the count down
|
||||
* etc. */
|
||||
void setPhase(Phase phase) { m_phase = phase; }
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
/** Call to specify what kind of clock you want. The second argument
|
||||
* can be used to specify the initial time value (especially useful
|
||||
* for countdowns). */
|
||||
void setClockMode(const ClockType mode, const float initial_time=0.0f);
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
/** Returns the current clock mode. */
|
||||
int getClockMode() const { return m_clock_mode; }
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
/** Returns the current race time. */
|
||||
float getTime() const { return m_time; }
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
/** Will be called to notify your derived class that the clock,
|
||||
* which is in COUNTDOWN mode, has reached zero. */
|
||||
virtual void countdownReachedZero() {};
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
/** Called when the race actually starts. */
|
||||
virtual void onGo() {};
|
||||
|
Loading…
x
Reference in New Issue
Block a user