AEEditorMode.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //
  2. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  3. // LICENSE: Atomic Game Engine Editor and Tools EULA
  4. // Please see LICENSE_ATOMIC_EDITOR_AND_TOOLS.md in repository root for
  5. // license information: https://github.com/AtomicGameEngine/AtomicGameEngine
  6. //
  7. #pragma once
  8. #include <Atomic/Core/Object.h>
  9. #include "AEEditorEvents.h"
  10. namespace Atomic
  11. {
  12. class IPCBroker;
  13. }
  14. using namespace Atomic;
  15. namespace AtomicEditor
  16. {
  17. /// EditorMode subsystem
  18. class EditorMode : public Object
  19. {
  20. OBJECT(EditorMode);
  21. public:
  22. /// Construct.
  23. EditorMode(Context* context);
  24. /// Destruct.
  25. virtual ~EditorMode();
  26. bool PlayProject();
  27. private:
  28. void HandleIPCWorkerStarted(StringHash eventType, VariantMap& eventData);
  29. void HandleIPCJSError(StringHash eventType, VariantMap& eventData);
  30. void HandleIPCWorkerLog(StringHash eventType, VariantMap& eventData);
  31. void HandleIPCWorkerExit(StringHash eventType, VariantMap& eventData);
  32. SharedPtr<IPCBroker> playerBroker_;
  33. };
  34. }