AEEditorMode.h 807 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include <Atomic/Core/Object.h>
  3. #include "AEEditorEvents.h"
  4. namespace Atomic
  5. {
  6. class IPCBroker;
  7. }
  8. using namespace Atomic;
  9. namespace AtomicEditor
  10. {
  11. class AEPreferences;
  12. /// EditorMode subsystem
  13. class EditorMode : public Object
  14. {
  15. OBJECT(EditorMode);
  16. public:
  17. /// Construct.
  18. EditorMode(Context* context);
  19. /// Destruct.
  20. virtual ~EditorMode();
  21. bool PlayProject();
  22. AEPreferences* GetPreferences();
  23. private:
  24. void HandleIPCWorkerStarted(StringHash eventType, VariantMap& eventData);
  25. void HandleIPCJSError(StringHash eventType, VariantMap& eventData);
  26. void HandleIPCWorkerLog(StringHash eventType, VariantMap& eventData);
  27. void HandleIPCWorkerExit(StringHash eventType, VariantMap& eventData);
  28. SharedPtr<IPCBroker> playerBroker_;
  29. };
  30. }