Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

ScreenNetSelectMusic.h

Go to the documentation of this file.
00001 /* ScreenNetSelectMusic - A method for Online/Net song selection */ 00002 00003 #ifndef SCREENNETSELECTMUSIC_H 00004 #define SCREENNETSELECTMUSIC_H 00005 00006 #include "ScreenNetSelectBase.h" 00007 #include "ScreenWithMenuElements.h" 00008 #include "Sprite.h" 00009 #include "Quad.h" 00010 #include "BitmapText.h" 00011 //#include "MusicBannerWheel.h" 00012 #include "DifficultyRating.h" 00013 #include "ModeSwitcher.h" 00014 #include "DifficultyIcon.h" 00015 #include "Difficulty.h" 00016 #include "DifficultyMeter.h" 00017 #include "MusicWheel.h" 00018 #include "OptionIconRow.h" 00019 #include "BPMDisplay.h" 00020 00021 class ScreenNetSelectMusic : public ScreenNetSelectBase 00022 { 00023 public: 00024 ScreenNetSelectMusic( const CString& sName ); 00025 00026 virtual void Input( const DeviceInput& DeviceI, const InputEventType type, 00027 const GameInput& GameI, const MenuInput& MenuI, 00028 const StyleInput& StyleI ); 00029 virtual void HandleScreenMessage( const ScreenMessage SM ); 00030 00031 void UpdateSongsListPos(); 00032 void UpdateGroupsListPos(); 00033 void UpdateSongsList(); 00034 void UpdateTextInput(); 00035 00036 void StartSelectedSong(); 00037 00038 private: 00039 int m_iSongNum; 00040 int m_iShowSongs; //The number of songs to display to each side 00041 int m_iGroupNum; 00042 int m_iShowGroups; //The number of groups to display to each side 00043 00044 enum NetScreenSelectModes 00045 { 00046 SelectGroup = 0, 00047 SelectSong, 00048 SelectDifficulty, 00049 SelectOptions, 00050 SelectModes, 00051 }; 00052 00053 NetScreenSelectModes m_SelectMode; 00054 00055 protected: 00056 virtual void MenuStart( PlayerNumber pn ); 00057 virtual void MenuLeft( PlayerNumber pn, const InputEventType type ); 00058 virtual void MenuUp( PlayerNumber pn, const InputEventType type ); 00059 virtual void MenuDown( PlayerNumber pn, const InputEventType type ); 00060 virtual void MenuRight( PlayerNumber pn, const InputEventType type ); 00061 virtual void MenuBack( PlayerNumber pn ); 00062 00063 virtual void Update( float fDeltaTime ); 00064 00065 void MusicChanged(); 00066 00067 void TweenOffScreen(); 00068 private: 00069 MusicWheel m_MusicWheel; 00070 00071 Sprite m_sprDiff; 00072 00073 //Difficulty Icon(s) 00074 DifficultyIcon m_DifficultyIcon[NUM_PLAYERS]; 00075 Difficulty m_DC[NUM_PLAYERS]; 00076 00077 void UpdateDifficulties( PlayerNumber pn ); 00078 DifficultyMeter m_DifficultyMeters[NUM_PLAYERS]; 00079 00080 RageSound m_soundChangeOpt; 00081 RageSound m_soundChangeSel; 00082 00083 BPMDisplay m_BPMDisplay; 00084 OptionIconRow m_OptionIconRow[NUM_PLAYERS]; 00085 00086 Song * m_cSong; 00087 00088 bool m_bInitialSelect; 00089 bool m_bAllowInput; 00090 }; 00091 00092 #endif 00093 00094 /* 00095 * (c) 2004-2005 Charles Lohr 00096 * All rights reserved. 00097 * 00098 * Permission is hereby granted, free of charge, to any person obtaining a 00099 * copy of this software and associated documentation files (the 00100 * "Software"), to deal in the Software without restriction, including 00101 * without limitation the rights to use, copy, modify, merge, publish, 00102 * distribute, and/or sell copies of the Software, and to permit persons to 00103 * whom the Software is furnished to do so, provided that the above 00104 * copyright notice(s) and this permission notice appear in all copies of 00105 * the Software and that both the above copyright notice(s) and this 00106 * permission notice appear in supporting documentation. 00107 * 00108 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00109 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00110 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF 00111 * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS 00112 * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT 00113 * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 00114 * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 00115 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 00116 * PERFORMANCE OF THIS SOFTWARE. 00117 */

Generated on Thu Jan 27 20:57:32 2005 for StepMania by doxygen 1.3.7