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:
Chris Danford
2009-08-09 02:59:32 +00:00
parent 204f7edac0
commit cd139430f5
72 changed files with 537 additions and 447 deletions
+30 -11
View File
@@ -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