2002-09-29 18:09:38 +00:00
|
|
|
/********************************
|
|
|
|
|
ScreenSelectMode.h
|
|
|
|
|
Desc: The "Style Select Screen" for Ez2dancer
|
|
|
|
|
Copyright (c):
|
|
|
|
|
Andrew Livy
|
|
|
|
|
*********************************/
|
2003-12-04 04:28:19 +00:00
|
|
|
#ifndef __SCREEN_SELECT_MODE_H
|
|
|
|
|
#define __SCREEN_SELECT_MODE_H
|
2002-09-29 18:09:38 +00:00
|
|
|
/* Includes */
|
2003-12-04 04:28:19 +00:00
|
|
|
|
2003-05-01 23:40:12 +00:00
|
|
|
#include "ScreenSelect.h"
|
2002-09-29 18:09:38 +00:00
|
|
|
#include "Background.h"
|
|
|
|
|
#include "Screen.h"
|
|
|
|
|
#include "Sprite.h"
|
|
|
|
|
#include "Quad.h"
|
|
|
|
|
#include "MenuElements.h"
|
|
|
|
|
#include "ScrollingList.h"
|
2002-11-11 04:53:31 +00:00
|
|
|
#include "GameConstantsAndTypes.h"
|
|
|
|
|
#include "ModeChoice.h"
|
2003-04-22 14:32:48 +00:00
|
|
|
#include "BitmapText.h"
|
|
|
|
|
#include "RandomSample.h"
|
2003-05-20 14:48:38 +00:00
|
|
|
#include "BGAnimationLayer.h"
|
2003-12-04 04:28:19 +00:00
|
|
|
#include "Character.h"
|
2002-09-29 18:09:38 +00:00
|
|
|
|
|
|
|
|
/* Class Definition */
|
|
|
|
|
|
2003-05-01 23:40:12 +00:00
|
|
|
#define MAX_ELEMS 30
|
2002-09-29 22:59:24 +00:00
|
|
|
|
2003-05-01 23:40:12 +00:00
|
|
|
class ScreenSelectMode : public ScreenSelect
|
2002-09-29 18:09:38 +00:00
|
|
|
{
|
|
|
|
|
public:
|
2003-09-27 22:30:51 +00:00
|
|
|
ScreenSelectMode( CString sName ); // Constructor
|
2002-09-29 18:09:38 +00:00
|
|
|
virtual ~ScreenSelectMode(); // Destructor
|
2003-05-01 23:40:12 +00:00
|
|
|
virtual void MenuLeft( PlayerNumber pn );
|
|
|
|
|
virtual void MenuRight( PlayerNumber pn );
|
2003-12-04 04:28:19 +00:00
|
|
|
virtual void MenuUp(PlayerNumber pn );
|
|
|
|
|
virtual void MenuDown(PlayerNumber pn);
|
2003-05-01 23:40:12 +00:00
|
|
|
virtual void MenuStart( PlayerNumber pn );
|
|
|
|
|
virtual void Update( float fDelta );
|
2003-12-04 04:28:19 +00:00
|
|
|
virtual void DrawPrimitives();
|
2003-05-05 11:50:18 +00:00
|
|
|
virtual void HandleScreenMessage( const ScreenMessage SM );
|
2002-09-29 18:09:38 +00:00
|
|
|
protected:
|
2003-05-01 23:40:12 +00:00
|
|
|
virtual int GetSelectionIndex( PlayerNumber pn );
|
|
|
|
|
virtual void UpdateSelectableChoices();
|
2003-12-04 04:28:19 +00:00
|
|
|
void SetCharacters();
|
2003-05-20 14:48:38 +00:00
|
|
|
void ChangeBGA();
|
2003-05-01 23:40:12 +00:00
|
|
|
int m_iNumChoices;
|
|
|
|
|
int m_iSelectableChoices[MAX_ELEMS];
|
2003-05-20 14:48:38 +00:00
|
|
|
|
2003-05-01 23:40:12 +00:00
|
|
|
RageSound m_soundModeChange;
|
2003-05-02 15:12:09 +00:00
|
|
|
RageSound m_soundConfirm;
|
2003-05-09 20:28:27 +00:00
|
|
|
RageSound m_soundStart;
|
2003-05-01 23:40:12 +00:00
|
|
|
CStringArray arrayLocations;
|
2002-09-29 18:09:38 +00:00
|
|
|
ScrollingList m_ScrollingList;
|
2003-05-01 23:40:12 +00:00
|
|
|
Sprite m_ChoiceListFrame;
|
|
|
|
|
Sprite m_ChoiceListHighlight;
|
|
|
|
|
Sprite m_sprJoinMessage[NUM_PLAYERS];
|
|
|
|
|
Sprite m_sprJoinFrame[NUM_PLAYERS];
|
2003-12-04 04:28:19 +00:00
|
|
|
Sprite m_CurChar[NUM_PLAYERS];
|
|
|
|
|
int m_iCurrentChar[NUM_PLAYERS];
|
2003-05-01 23:40:12 +00:00
|
|
|
Sprite m_Guide;
|
2003-05-20 14:48:38 +00:00
|
|
|
vector<BGAnimation*> m_Backgrounds;
|
2003-05-02 15:12:09 +00:00
|
|
|
bool m_bSelected;
|
2003-12-04 04:28:19 +00:00
|
|
|
bool m_b2DAvailable;
|
|
|
|
|
bool m_bCharsAvailable;
|
|
|
|
|
|
|
|
|
|
// private:
|
|
|
|
|
// vector<Character*> m_Characters;
|
2002-09-29 18:09:38 +00:00
|
|
|
};
|
2003-12-04 04:28:19 +00:00
|
|
|
|
|
|
|
|
#endif
|