MainMenu.h 936 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #pragma once
  2. #include "Actor.h"
  3. #include "TextActor.h"
  4. #include "ModalActor.h"
  5. #include "Button.h"
  6. using namespace oxygine;
  7. DECLARE_SMART(ButtonWithText, spButtonWithText);
  8. class ButtonWithText: public Button
  9. {
  10. public:
  11. ButtonWithText();
  12. ~ButtonWithText();
  13. bool enabled;//used for options
  14. void init(const string &text, EventCallback &cb, const Vector2 &pos, const string &name);
  15. void setText(const string &str);
  16. private:
  17. spTextActor _text;
  18. };
  19. DECLARE_SMART(MainMenu, spMainMenu);
  20. DECLARE_SMART(GameActor, spGameActor);
  21. class MainMenu:public ModalActor
  22. {
  23. public:
  24. static spMainMenu instance;
  25. MainMenu();
  26. ~MainMenu();
  27. void postShowing();
  28. void postHiding();
  29. void doLoop();
  30. void clickedButton(Event *es);
  31. void doUpdate(const UpdateState &us);
  32. //string waitAction();
  33. spButtonWithText _play;
  34. spButtonWithText _options;
  35. spActor _menu;
  36. private:
  37. void fadeOutDone(Tween *tween, Actor *actor);
  38. string _action;
  39. };