diff options
Diffstat (limited to 'src/brussel.engine/EditorAttachmentImpl.cpp')
-rw-r--r-- | src/brussel.engine/EditorAttachmentImpl.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/brussel.engine/EditorAttachmentImpl.cpp b/src/brussel.engine/EditorAttachmentImpl.cpp new file mode 100644 index 0000000..b09c133 --- /dev/null +++ b/src/brussel.engine/EditorAttachmentImpl.cpp @@ -0,0 +1,23 @@ +#include "EditorAttachmentImpl.hpp" +#include "EditorAttachment.hpp" + +#include <Metadata.hpp> + +EditorAttachment::EditorAttachment() { +} + +std::unique_ptr<EditorAttachment> EaGameObject::Create(GameObject* object) { + EaGameObject* result; + + auto kind = object->GetKind(); + switch (kind) { + case GameObject::KD_Player: result = new EaPlayer(); break; + case GameObject::KD_LevelWrapper: result = new EaLevelWrapper(); break; + + default: result = new EaGameObject(); break; + } + + result->name = Metadata::EnumToString(kind); + result->eulerAnglesRotation = glm::eulerAngles(object->GetRotation()); + return std::unique_ptr<EditorAttachment>(result); +} |