#ifndef __RETRO_CFRONTENDUI_HPP__ #define __RETRO_CFRONTENDUI_HPP__ #include "CIOWin.hpp" #include "CGameDebug.hpp" namespace Retro { class CGuiSliderGroup; class CGuiTableGroup; struct SObjectTag; namespace MP1 { class CFrontEndUI : public CIOWin { public: enum class EMenuMovie { }; enum class EScreen { }; CFrontEndUI(CArchitectureQueue& queue); void OnSliderSelectionChange(CGuiSliderGroup* grp, float); void OnCheckBoxSelectionChange(CGuiTableGroup* grp); void OnOptionSubMenuCancel(CGuiTableGroup* grp); void OnOptionsMenuCancel(CGuiTableGroup* grp); void OnNewGameMenuCancel(CGuiTableGroup* grp); void OnFileMenuCancel(CGuiTableGroup* grp); void OnGenericMenuSelectionChange(CGuiTableGroup* grp, int, int); void OnOptionsMenuAdvance(CGuiTableGroup* grp); void OnNewGameMenuAdvance(CGuiTableGroup* grp); void OnFileMenuAdvance(CGuiTableGroup* grp); void OnMainMenuAdvance(CGuiTableGroup* grp); const char* GetAttractMovieFileName(int idx); const char* GetNextAttractMovieFileName(int idx); void SetCurrentMovie(EMenuMovie movie); void StopAttractMovie(); void StartAttractMovie(int idx); void UpdateMenuHighlights(CGuiTableGroup* grp); void CompleteStateTransition(); bool CanBuild(const SObjectTag& tag); void StartStateTransition(EScreen screen); void HandleDebugMenuReturnValue(CGameDebug::EReturnValue val, CArchitectureQueue& queue); void Draw() const; void UpdateMovies(float dt); void Update(float dt, CArchitectureQueue& queue); EMessageReturn OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue); void StartGame(); void InitializeFrame(); }; } } #endif // __RETRO_CFRONTENDUI_HPP__