ToolSystem.h 557 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #pragma once
  2. #include <Atomic/Core/Object.h>
  3. #include "Platform/Platform.h"
  4. using namespace Atomic;
  5. namespace ToolCore
  6. {
  7. class Platform;
  8. class ToolSystem : public Object
  9. {
  10. OBJECT(ToolSystem);
  11. public:
  12. ToolSystem(Context* context);
  13. virtual ~ToolSystem();
  14. void RegisterPlatform(Platform* platform);
  15. void SetCurrentPlatform(PlatformID platform);
  16. PlatformID GetCurrentPlatform();
  17. private:
  18. SharedPtr<Platform> currentPlatform_;
  19. // PlatformID -> platform
  20. HashMap<unsigned, SharedPtr<Platform> > platforms_;
  21. };
  22. }