Player.h 656 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include <Atomic/Core/Object.h>
  3. #include <Atomic/Graphics/Viewport.h>
  4. #include <Atomic/Scene/Scene.h>
  5. using namespace Atomic;
  6. namespace AtomicPlayer
  7. {
  8. /// Player subsystem
  9. class Player : public Object
  10. {
  11. OBJECT(Player);
  12. public:
  13. /// Construct.
  14. Player(Context* context);
  15. /// Destruct.
  16. virtual ~Player();
  17. Scene* LoadScene(const String& filename, Camera* camera = NULL);
  18. Scene* GetCurrentScene() { return currentScene_; }
  19. private:
  20. void HandleExitRequested(StringHash eventType, VariantMap& eventData);
  21. // Strong reference
  22. SharedPtr<Scene> currentScene_;
  23. SharedPtr<Viewport> viewport_;
  24. };
  25. }