Open Source Tomb Raider Engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Menu.h 911B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*!
  2. * \file include/Menu.h
  3. * \brief Menu 'overlay'
  4. *
  5. * \author xythobuz
  6. */
  7. #ifndef _MENU_H_
  8. #define _MENU_H_
  9. #include "Font.h"
  10. /*!
  11. * \brief Menu 'overlay'
  12. */
  13. class Menu {
  14. public:
  15. /*!
  16. * \brief Constructs an object of Menu
  17. */
  18. Menu();
  19. /*!
  20. * \brief Deconstructs an object of Menu
  21. */
  22. ~Menu();
  23. void setVisible(bool visible);
  24. bool isVisible();
  25. void display();
  26. void handleKeyboard(KeyboardButton key, bool pressed);
  27. void handleMouseClick(unsigned int x, unsigned int y, KeyboardButton button, bool released);
  28. private:
  29. void loadPakFolderRecursive(const char *dir);
  30. void fillMapList();
  31. void displayMapList();
  32. void play();
  33. bool mVisible;
  34. unsigned int mCursor;
  35. unsigned int mMin;
  36. FontString mainText;
  37. bool mMapListFilled;
  38. bool mFirstPass;
  39. std::vector<char *> mMapList;
  40. };
  41. Menu &getMenu();
  42. #endif