CustomDiffiuclty cleanup, now takes CourseType as a parameter
DifficultyList -> StepsDisplayList Course editor screen cleanup Change GameManager back to singleton for consistency with other classes
This commit is contained in:
@@ -12,6 +12,8 @@
|
||||
#include "Style.h"
|
||||
#include "Foreach.h"
|
||||
|
||||
GameManager* GAMEMAN = NULL; // global and accessable from anywhere in our program
|
||||
|
||||
enum
|
||||
{
|
||||
TRACK_1 = 0,
|
||||
@@ -2603,6 +2605,24 @@ static const Game *g_Games[] =
|
||||
&g_Game_Lights,
|
||||
};
|
||||
|
||||
GameManager::GameManager()
|
||||
{
|
||||
// Register with Lua.
|
||||
{
|
||||
Lua *L = LUA->Get();
|
||||
lua_pushstring( L, "GAMEMAN" );
|
||||
this->PushSelf( L );
|
||||
lua_settable( L, LUA_GLOBALSINDEX );
|
||||
LUA->Release( L );
|
||||
}
|
||||
}
|
||||
|
||||
GameManager::~GameManager()
|
||||
{
|
||||
// Unregister with Lua.
|
||||
LUA->UnsetGlobal( "GAMEMAN" );
|
||||
}
|
||||
|
||||
void GameManager::GetStylesForGame( const Game *pGame, vector<const Style*>& aStylesAddTo, bool editor )
|
||||
{
|
||||
for( int s=0; pGame->m_apStyles[s]; ++s )
|
||||
@@ -2855,31 +2875,30 @@ const Style* GameManager::GameAndStringToStyle( const Game *game, RString sStyle
|
||||
// lua start
|
||||
#include "LuaBinding.h"
|
||||
|
||||
namespace
|
||||
class LunaGameManager: public Luna<GameManager>
|
||||
{
|
||||
|
||||
int StepsTypeToLocalizedString( lua_State *L ) { lua_pushstring(L, GameManager::GetStepsTypeInfo(Enum::Check<StepsType>(L, 1)).GetLocalizedString() ); return 1; }
|
||||
int GetFirstStepsTypeForGame( lua_State *L )
|
||||
public:
|
||||
static int StepsTypeToLocalizedString( T* p, lua_State *L ) { lua_pushstring(L, p->GetStepsTypeInfo(Enum::Check<StepsType>(L, 1)).GetLocalizedString() ); return 1; }
|
||||
static int GetFirstStepsTypeForGame( T* p, lua_State *L )
|
||||
{
|
||||
Game *pGame = Luna<Game>::check( L, 1 );
|
||||
|
||||
vector<StepsType> vstAddTo;
|
||||
GameManager::GetStepsTypesForGame( pGame, vstAddTo );
|
||||
p->GetStepsTypesForGame( pGame, vstAddTo );
|
||||
ASSERT( !vstAddTo.empty() );
|
||||
StepsType st = vstAddTo[0];
|
||||
LuaHelpers::Push( L, st );
|
||||
return 1;
|
||||
}
|
||||
|
||||
const luaL_Reg GameManagerTable[] =
|
||||
LunaGameManager()
|
||||
{
|
||||
LIST_METHOD( StepsTypeToLocalizedString ),
|
||||
LIST_METHOD( GetFirstStepsTypeForGame ),
|
||||
{ NULL, NULL }
|
||||
};
|
||||
ADD_METHOD( StepsTypeToLocalizedString );
|
||||
ADD_METHOD( GetFirstStepsTypeForGame );
|
||||
}
|
||||
};
|
||||
|
||||
LUA_REGISTER_NAMESPACE( GameManager )
|
||||
LUA_REGISTER_CLASS( GameManager )
|
||||
// lua end
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user