full encapsulation of 'raceHasLaps'
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/trunk/supertuxkart@2318 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
60b3f0ea6e
commit
f38e47954c
@ -730,7 +730,7 @@ void RaceGUI::drawLap(const KartIconDisplayInfo* info, Kart* kart, int offset_x,
|
||||
int offset_y, float ratio_x, float ratio_y )
|
||||
{
|
||||
// Don't display laps in follow the leader mode
|
||||
if(!race_manager->raceHasLaps()) return;
|
||||
if(!RaceManager::getWorld()->raceHasLaps()) return;
|
||||
|
||||
const int lap = info[kart->getWorldKartId()].lap;
|
||||
|
||||
|
@ -38,6 +38,8 @@ public:
|
||||
virtual std::string getInternalCode() const;
|
||||
virtual bool useFastMusicNearEnd() const { return false; }
|
||||
virtual KartIconDisplayInfo* getKartsDisplayInfo(const RaceGUI* caller);
|
||||
|
||||
virtual bool raceHasLaps(){ return false; }
|
||||
};
|
||||
|
||||
|
||||
|
@ -239,7 +239,7 @@ void LinearWorld::doLapCounting ( KartInfo& kart_info, Kart* kart )
|
||||
}
|
||||
// Race finished
|
||||
if(kart_info.m_race_lap >= race_manager->getNumLaps() &&
|
||||
race_manager->getMinorMode() != race_manager->raceHasLaps())
|
||||
race_manager->getMinorMode() != RaceManager::getWorld()->raceHasLaps())
|
||||
{
|
||||
// A client wait does not detect race finished by itself, it will
|
||||
// receive a message from the server. So a client does not do
|
||||
@ -263,7 +263,7 @@ void LinearWorld::doLapCounting ( KartInfo& kart_info, Kart* kart )
|
||||
|
||||
// if new fastest lap
|
||||
if(time_per_lap < RaceManager::getWorld()->getFastestLapTime() &&
|
||||
race_manager->raceHasLaps())
|
||||
RaceManager::getWorld()->raceHasLaps())
|
||||
{
|
||||
RaceManager::getWorld()->setFastestLap(kart, time_per_lap);
|
||||
RaceGUI* m=(RaceGUI*)menu_manager->getRaceMenu();
|
||||
@ -377,7 +377,7 @@ KartIconDisplayInfo* LinearWorld::getKartsDisplayInfo(const RaceGUI* caller)
|
||||
|
||||
if(laps_of_leader>0 && // Don't compare times when crossing the start line first
|
||||
(getTime() - getTimeAtLapForKart(kart->getWorldKartId())<5.0f || rank_info.lap != laps_of_leader) &&
|
||||
race_manager->raceHasLaps())
|
||||
RaceManager::getWorld()->raceHasLaps())
|
||||
{ // Display for 5 seconds
|
||||
char str[256];
|
||||
if(position==1)
|
||||
|
@ -86,6 +86,8 @@ public:
|
||||
|
||||
float estimateFinishTimeForKart (Kart* kart, KartInfo& kart_info);
|
||||
void updateRacePosition ( Kart* kart, KartInfo& kart_info );
|
||||
|
||||
virtual bool raceHasLaps(){ return true; }
|
||||
};
|
||||
|
||||
#endif
|
@ -190,6 +190,10 @@ public:
|
||||
* kart is dropped, this method will be called and each mode can implement it.
|
||||
*/
|
||||
virtual void moveKartAfterRescue(Kart* kart, btRigidBody* body) = 0;
|
||||
|
||||
/** Called when it is needed to know whether this kind of race involves counting laps.
|
||||
*/
|
||||
virtual bool raceHasLaps() = 0;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -194,7 +194,6 @@ public:
|
||||
double getOverallTime(int kart) const { return m_kart_status[kart].m_overall_time;}
|
||||
KartType getKartType(int kart) const { return m_kart_status[kart].m_kart_type;}
|
||||
int getCoinTarget() const { return m_coin_target; }
|
||||
bool raceHasLaps() const { return m_minor_mode!=MINOR_MODE_FOLLOW_LEADER; }
|
||||
int getPositionScore(int p) const { return m_score_for_position[p-1]; }
|
||||
int allPlayerFinished() const {return
|
||||
m_num_finished_players==m_player_karts.size();}
|
||||
|
Loading…
x
Reference in New Issue
Block a user