Files
itgmania212121/stepmania/src/ScreenSelectStyle.h
T

68 lines
1.6 KiB
C++

#ifndef SCREEN_SELECT_STYLE_H
#define SCREEN_SELECT_STYLE_H
/*
-----------------------------------------------------------------------------
Class: ScreenSelectStyle
Desc: Select the game mode (single, versus, double).
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Chris Danford
-----------------------------------------------------------------------------
*/
#include "Screen.h"
#include "Sprite.h"
#include "TransitionFade.h"
#include "RandomSample.h"
#include "MenuElements.h"
#include "Style.h"
class ScreenSelectStyle : public Screen
{
public:
ScreenSelectStyle();
virtual ~ScreenSelectStyle();
virtual void DrawPrimitives();
virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
virtual void HandleScreenMessage( const ScreenMessage SM );
void MenuLeft( PlayerNumber pn );
void MenuRight( PlayerNumber pn );
void MenuStart( PlayerNumber pn );
void MenuBack( PlayerNumber pn );
void TweenOffScreen();
void TweenOnScreen();
private:
void BeforeChange();
void AfterChange();
bool IsEnabled( int iStyleIndex );
void UpdateEnabledDisabled();
MenuElements m_Menu;
Sprite m_sprIcon[NUM_STYLES];
Sprite m_sprExplanation;
Sprite m_sprPreview;
Sprite m_sprInfo;
// Sprites that are never drawn. They exist to keep the style textures in memory
Sprite m_sprDummyPreview[NUM_STYLES];
Sprite m_sprDummyInfo[NUM_STYLES];
RandomSample m_soundChange;
RandomSample m_soundSelect;
int m_iSelection;
CArray<Style,Style> m_aPossibleStyles;
Style GetSelectedStyle() { return m_aPossibleStyles[m_iSelection]; };
};
#endif