Files
wagic/projects/mtg/include/GameStateMenu.h
wagic.jeck 7f7320f904 Jeck - Some basic options handling rewrites, main menu update, example alternate theme (for testing). I'm closing issues 44 and 45, as hopefully this resolves them satisfactorily.
* The alternate theme is just useful for testing themes, but please comment on the changes to the main theme.
 * Options reading and initializing separated from UI.
 * Options UI abstracted a bit, made more easily extensible.
 * With some extension, the options UI could be used as the basis for more complicated themes, if we load a file and use it to do stuff like GameStateOptions::Start()
2009-10-20 03:46:18 +00:00

58 lines
1.3 KiB
C++

#ifndef _GAME_STATE_MENU_H_
#define _GAME_STATE_MENU_H_
#include <JGui.h>
#include <dirent.h>
#include "../include/GameState.h"
#include "../include/SimpleMenu.h"
#include "../include/TextScroller.h"
class GameStateMenu: public GameState, public JGuiListener
{
private:
TextScroller * scroller;
int scrollerSet;
JGuiController* mGuiController;
SimpleMenu* subMenuController;
SimpleMenu* gameTypeMenu;
int hasChosenGameType;
JQuad * mIcons[10];
JTexture * bgTexture;
JQuad * mBg;
JQuad * mSplash;
float mCreditsYPos;
int currentState;
//JMusic * bgMusic;
int mVolume;
char nbcardsStr[400];
DIR *mDip;
struct dirent *mDit;
char mCurrentSetName[32];
char mCurrentSetFileName[512];
int mReadConf;
float timeIndex;
float angleMultiplier;
float angleW;
float yW;
void fillScroller();
public:
GameStateMenu(GameApp* parent);
virtual ~GameStateMenu();
virtual void Create();
virtual void Destroy();
virtual void Start();
virtual void End();
virtual void Update(float dt);
virtual void Render();
virtual void ButtonPressed(int controllerId, int controlId);
int nextDirectory(const char * root, const char * file); // Retrieves the next directory to have matching file
void resetDirectory();
void createUsersFirstDeck(int setId);
virtual ostream& toString(ostream& out) const;
};
#endif