Files
itgmania212121/stepmania/src/GameManager.h
T

70 lines
2.3 KiB
C++
Raw Normal View History

#ifndef GAMEMANAGER_H
#define GAMEMANAGER_H
/*
-----------------------------------------------------------------------------
Class: GameManager
2002-04-16 17:31:00 +00:00
Desc: Manages GameDefs (which define different games, like "dance" and "pump")
and StyleDefs (which define different games, like "single" and "couple")
2002-05-19 01:59:48 +00:00
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Chris Danford
-----------------------------------------------------------------------------
*/
2002-04-16 17:31:00 +00:00
#include "GameDef.h"
#include "StyleDef.h"
#include "Style.h"
#include "Game.h"
#include "ModeChoice.h"
class IniFile;
2002-04-16 17:31:00 +00:00
class GameManager
{
public:
GameManager();
~GameManager();
2002-07-23 01:41:40 +00:00
GameDef* GetGameDefForGame( Game g );
const StyleDef* GetStyleDefForStyle( Style s );
void GetGameplayStylesForGame( Game game, CArray<Style,Style>& aStylesAddTo, bool editor=false );
void GetModesChoicesForGame( Game game, CArray<ModeChoice*,ModeChoice*>& apChoicesAddTo );
2002-08-17 06:44:04 +00:00
void GetNotesTypesForGame( Game game, CArray<NotesType,NotesType>& aNotesTypeAddTo ); // only look at edit-specific styles
// void GetGameNames( CStringArray &AddTo );
// bool DoesGameExist( CString sGameName );
2002-07-23 01:41:40 +00:00
CString GetCurNoteSkinDir();
void GetNoteSkinNames( Game game, CStringArray &AddTo ) const;
void GetNoteSkinNames( CStringArray &AddTo ) const; // looks up current Game in GAMESTATE
bool DoesNoteSkinExist( CString sSkinName ) const; // looks up current Game in GAMESTATE
2002-07-23 01:41:40 +00:00
void SwitchNoteSkin( CString sNewNoteSkin ); // looks up current Game in GAMESTATE
CString GetCurNoteSkin() const { return m_sCurNoteSkin; };
CString GetPathTo( const int col, CString sElementName );
CString GetMetric( CString sClassName, CString sValueName );
int GetMetricI( CString sClassName, CString sValueName );
float GetMetricF( CString sClassName, CString sValueName );
bool GetMetricB( CString sClassName, CString sValueName );
RageColor GetMetricC( CString sClassName, CString sValueName );
2002-07-23 01:41:40 +00:00
void GetEnabledGames( CArray<Game,Game>& aGamesOut );
2002-08-23 00:19:31 +00:00
static int NotesTypeToNumTracks( NotesType nt );
static NotesType StringToNotesType( CString sNotesType );
static CString NotesTypeToString( NotesType nt );
2002-07-23 01:41:40 +00:00
protected:
CString m_sCurNoteSkin;
IniFile* m_pIniFile;
};
2002-05-27 08:23:27 +00:00
extern GameManager* GAMEMAN; // global and accessable from anywhere in our program
#endif