#ifndef _CMAINMENU_HPP_ #define _CMAINMENU_HPP_ /*** TrooperEngine DLL Header Files ***/ #include "TrooperEngine.hpp" /*** Custom Header Files ***/ #include "eOptions.hpp" using UtilityEngine::cString; namespace MainMenu { class cMainMenu { public: cMainMenu(); ~cMainMenu(); const eOptions ShowMenu(); void OptionUp(); void OptionDown(); void OptionSelect(); //Sets void setOption( const eOptions option = eOptions::Start ); void setSound( const cString dir, const cString filename ); void setColour( const SDL_Colour colour ); void setSelectColour( const SDL_Colour selectcolour ); void setTitleColour( const SDL_Colour titlecolour ); void setFont( const cString dir, const cString filename ); void setTitleText( const cString text, const long int size, const long int x, const long int y ); void setSingleText( const cString text, const long int size, const long int x, const long int y ); void setHeadText( const cString text, const long int size, const long int x, const long int y ); void setQuitText( const cString text, const long int size, const long int x, const long int y ); private: void ResetTextColour(); void Display(); void Redraw(); void PlaySound(); void Input(); void SingleSelect(); void HeadSelect(); void QuitSelect(); private: VideoEngine::cCamera* mp_camera;// = nullptr VideoEngine::cSprite m_titleSprite; VideoEngine::cSprite m_singleSprite; VideoEngine::cSprite m_headSprite; VideoEngine::cSprite m_quitSprite; AudioEngine::cSound m_menuSound; SDL_Colour m_colour;// = {255, 0, 0} SDL_Colour m_selectColour;// = {0, 0, 255} SDL_Colour m_titleColour;// = {255, 255, 255} TextTypeEngine::cFont* mp_font;// = nullptr TextTypeEngine::cText* mp_titleText;// = nullptr; TextTypeEngine::cText* mp_singleText;// = nullptr; TextTypeEngine::cText* mp_headText;// = nullptr; TextTypeEngine::cText* mp_quitText;// = nullptr; eOptions m_option;// = Start; bool m_run;// = true; };/// END CLASS DEFINITION cMainMenu }/// END NAMESPACE DEFINITION MainMenu #endif/// END IFNDEF _CMAINMENU_HPP_