BsBansheeSceneManager.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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<SceneCameraData>& getAllCameras() const { return mCachedCameras; }
  21. /**
  22. * @copydoc SceneManager::getAllRenderables
  23. */
  24. const Vector<SceneRenderableData>& getAllRenderables() const { return mRenderables; }
  25. private:
  26. /**
  27. * @brief Called by scene objects whenever a new component is added to the scene.
  28. */
  29. void notifyComponentAdded(const HComponent& component);
  30. /**
  31. * @brief Called by scene objects whenever a new component is destroyed.
  32. */
  33. void notifyComponentRemoved(const HComponent& component);
  34. Vector<SceneCameraData> mCachedCameras;
  35. Vector<SceneRenderableData> mRenderables;
  36. };
  37. }