BsBansheeSceneManager.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #include "BsBansheeSMPrerequisites.h"
  3. #include "BsSceneManager.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Default scene manager implementation. Allows you to query
  8. * the scene graph for various uses.
  9. *
  10. * TODO - Update doc when I implement this properly
  11. */
  12. class BS_SM_EXPORT BansheeSceneManager : public SceneManager
  13. {
  14. public:
  15. BansheeSceneManager() {}
  16. ~BansheeSceneManager() {}
  17. /**
  18. * @copydoc SceneManager::getAllCameras
  19. */
  20. const Vector<HCamera>& getAllCameras() const { return mCachedCameras; }
  21. /**
  22. * @copydoc SceneManager::getAllRenderables
  23. */
  24. const Vector<HRenderable>& getAllRenderables() const { return mRenderables; }
  25. /**
  26. * @copydoc SceneManager
  27. */
  28. void updateRenderableTransforms();
  29. private:
  30. /**
  31. * @brief Called by scene objects whenever a new component is added to the scene.
  32. */
  33. void notifyComponentAdded(const HComponent& component);
  34. /**
  35. * @brief Called by scene objects whenever a new component is destroyed.
  36. */
  37. void notifyComponentRemoved(const HComponent& component);
  38. Vector<HCamera> mCachedCameras;
  39. Vector<HRenderable> mRenderables;
  40. };
  41. }