Started performing API changes to support multiple GP losers eventually
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@5690 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
b636214371
commit
992115a9d9
@ -441,19 +441,16 @@ void RaceManager::exitRace()
|
||||
{
|
||||
StateManager::get()->pushScreen( GrandPrixLose::getInstance() );
|
||||
|
||||
if (humanLosers.size() > 1)
|
||||
if (humanLosers.size() >= 1)
|
||||
{
|
||||
// TODO: support multiplayer GPs!!
|
||||
GrandPrixLose::getInstance()->setKart( humanLosers[0] );
|
||||
}
|
||||
else if (humanLosers.size() == 1)
|
||||
{
|
||||
GrandPrixLose::getInstance()->setKart( humanLosers[0] );
|
||||
GrandPrixLose::getInstance()->setKarts( humanLosers );
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "RaceManager::exitRace() : what's going on?? no winners and no losers??\n";
|
||||
GrandPrixLose::getInstance()->setKart( "nolok" );
|
||||
std::vector<std::string> karts;
|
||||
karts.push_back(UserConfigParams::m_default_kart);
|
||||
GrandPrixLose::getInstance()->setKarts( karts );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -220,11 +220,14 @@ void GrandPrixLose::eventCallback(GUIEngine::Widget* widget,
|
||||
|
||||
// -------------------------------------------------------------------------------------
|
||||
|
||||
void GrandPrixLose::setKart(const std::string ident_arg)
|
||||
void GrandPrixLose::setKarts(const std::vector<std::string> ident_arg)
|
||||
{
|
||||
scene::ISceneNode* kart_main_node = NULL;
|
||||
|
||||
const KartProperties* kart = kart_properties_manager->getKart(ident_arg);
|
||||
assert(ident_arg.size() > 0);
|
||||
|
||||
// TODO: allow displaying more than one losers
|
||||
const KartProperties* kart = kart_properties_manager->getKart(ident_arg[0]);
|
||||
if (kart != NULL)
|
||||
{
|
||||
KartModel* kartModel = kart->getKartModel();
|
||||
|
@ -3,6 +3,9 @@
|
||||
|
||||
#include "guiengine/screen.hpp"
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
namespace irr { namespace scene { class ISceneNode; class ICameraSceneNode; class ILightSceneNode; } }
|
||||
class KartProperties;
|
||||
|
||||
@ -59,7 +62,8 @@ public:
|
||||
/** \brief implement callback from parent class GUIEngine::Screen */
|
||||
void eventCallback(GUIEngine::Widget* widget, const std::string& name, const int playerID);
|
||||
|
||||
void setKart(const std::string ident);
|
||||
/** \brief set which karts lost this GP */
|
||||
void setKarts(const std::vector<std::string> ident);
|
||||
|
||||
virtual MusicInformation* getMusic() const { return m_music; }
|
||||
|
||||
|
@ -171,7 +171,9 @@ void MainMenuScreen::eventCallback(Widget* widget, const std::string& name, cons
|
||||
{
|
||||
GrandPrixLose* scene = GrandPrixLose::getInstance();
|
||||
StateManager::get()->pushScreen(scene);
|
||||
scene->setKart( "nolok" );
|
||||
std::vector<std::string> losers;
|
||||
losers.push_back("nolok");
|
||||
scene->setKarts( losers );
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user