BsSceneManager.h 846 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "BsPrerequisites.h"
  3. #include "BsCoreSceneManager.h"
  4. namespace BansheeEngine
  5. {
  6. class BS_EXPORT SceneManager : public CoreSceneManager
  7. {
  8. public:
  9. SceneManager() {}
  10. virtual ~SceneManager() {}
  11. /**
  12. * @brief Returns all cameras in the scene.
  13. */
  14. virtual const Vector<HCamera>& getAllCameras() const = 0;
  15. /**
  16. * @brief Returns all renderables in the scene.
  17. */
  18. virtual const Vector<HRenderable>& getAllRenderables() const = 0;
  19. /**
  20. * @brief Updates dirty transforms on any scene objects with a Renderable component.
  21. */
  22. virtual void updateRenderableTransforms() = 0;
  23. /**
  24. * @brief Triggered whenever a renderable is removed from a SceneObject.
  25. */
  26. Event<void(const HRenderable&)> onRenderableRemoved;
  27. };
  28. BS_EXPORT SceneManager& gBsSceneManager();
  29. }