BsSelection.h 918 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsModule.h"
  4. namespace BansheeEngine
  5. {
  6. class BS_ED_EXPORT Selection : public Module<Selection>
  7. {
  8. public:
  9. Selection();
  10. ~Selection();
  11. const Vector<HSceneObject>& getSceneObjects() const;
  12. void setSceneObjects(const Vector<HSceneObject>& sceneObjects);
  13. const Vector<Path>& getResourcePaths() const;
  14. void setResourcePaths(const Vector<Path>& paths);
  15. Vector<String> getResourceUUIDs() const;
  16. void setResourceUUIDs(const Vector<String>& UUIDs);
  17. void clearSceneSelection();
  18. void clearResourceSelection();
  19. Event<void(const Vector<HSceneObject>&, const Vector<Path>&)> onSelectionChanged;
  20. private:
  21. void sceneSelectionChanged();
  22. void resourceSelectionChanged();
  23. Vector<HSceneObject> mSelectedSceneObjects;
  24. Vector<Path> mSelectedResourcePaths;
  25. HMessage mSceneSelectionChangedConn;
  26. HMessage mResourceSelectionChangedConn;
  27. };
  28. }