ScreenGameplayMultiplayer.h
Go to the documentation of this file.00001
00002
00003
#ifndef ScreenGameplayMultiplayer_H
00004
#define ScreenGameplayMultiplayer_H
00005
00006
#include "Screen.h"
00007
#include "Background.h"
00008
#include "Foreground.h"
00009
#include "ScoreDisplay.h"
00010
#include "Transition.h"
00011
#include "Player.h"
00012
#include "EnumHelper.h"
00013
#include "AutoKeysounds.h"
00014
#include "PlayerState.h"
00015
#include "StageStats.h"
00016
00017 enum MultiPlayer {
00018
MPLAYER_1 = 0,
00019
MPLAYER_2,
00020
MPLAYER_3,
00021
MPLAYER_4,
00022
MPLAYER_5,
00023
MPLAYER_6,
00024
MPLAYER_7,
00025
MPLAYER_8,
00026
MPLAYER_9,
00027
MPLAYER_10,
00028
MPLAYER_11,
00029
MPLAYER_12,
00030
MPLAYER_13,
00031
MPLAYER_14,
00032
MPLAYER_15,
00033
MPLAYER_16,
00034
NUM_MULTI_PLAYERS,
00035
MULTI_PLAYER_INVALID
00036 };
00037 #define FOREACH_MultiPlayer( pn ) FOREACH_ENUM( MultiPlayer, NUM_MULTI_PLAYERS, pn )
00038
00039
class Song;
00040
class Steps;
00041
00042 class ScreenGameplayMultiplayer :
public Screen
00043 {
00044
public:
00045
ScreenGameplayMultiplayer(
CString sName,
bool bDemonstration =
false );
00046
virtual void Init();
00047
virtual ~ScreenGameplayMultiplayer();
00048
00049
virtual void Update(
float fDeltaTime );
00050
virtual void DrawPrimitives();
00051
virtual void Input(
const DeviceInput& DeviceI,
const InputEventType type,
const GameInput &GameI,
const MenuInput &MenuI,
const StyleInput &StyleI );
00052
virtual void HandleScreenMessage(
const ScreenMessage SM );
00053
00054 virtual bool UsesBackground()
const {
return false; }
00055
00056
protected:
00057
void TweenOnScreen();
00058
void TweenOffScreen();
00059
00060
bool IsLastSong();
00061
void SetupSong( MultiPlayer p,
int iSongIndex );
00062
void LoadNextSong();
00063
float StartPlayingSong(
float MinTimeToNotes,
float MinTimeToMusic);
00064
void ShowSavePrompt( ScreenMessage SM_SendWhenDone );
00065
00066
void UpdateSongPosition(
float fDeltaTime );
00067
void StageFinished(
bool bBackedOut );
00068
00069 vector<Song*>
m_vpSongsQueue;
00070 vector<Steps*>
m_vpStepsQueue;
00071 vector<AttackArray>
m_vModifiersQueue;
00072
00073 Background m_Background;
00074 Foreground m_Foreground;
00075
00076 ScoreDisplay*
m_pPrimaryScoreDisplay[
NUM_MULTI_PLAYERS];
00077 ScoreKeeper*
m_pPrimaryScoreKeeper[
NUM_MULTI_PLAYERS];
00078
00079 Transition m_In;
00080 Transition m_Out;
00081 Transition m_Back;
00082
00083 Player m_AutoPlayer;
00084 PlayerState m_PlayerState[
NUM_MULTI_PLAYERS];
00085 PlayerStageStats m_PlayerStageStats[
NUM_MULTI_PLAYERS];
00086 Player m_HumanPlayer[
NUM_MULTI_PLAYERS];
00087
00088 AutoKeysounds m_AutoKeysounds;
00089 RageSound *
m_pSoundMusic;
00090 };
00091
00092
00093
#endif
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
Generated on Thu Jan 27 20:57:31 2005 for StepMania by
1.3.7