diff options
Diffstat (limited to 'source/30-game/EditorAttachmentImpl.cpp')
-rw-r--r-- | source/30-game/EditorAttachmentImpl.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/30-game/EditorAttachmentImpl.cpp b/source/30-game/EditorAttachmentImpl.cpp new file mode 100644 index 0000000..62d15eb --- /dev/null +++ b/source/30-game/EditorAttachmentImpl.cpp @@ -0,0 +1,21 @@ +#include "EditorAttachmentImpl.hpp" +#include "EditorAttachment.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 = GameObject::ToString(kind); + result->eulerAnglesRotation = glm::eulerAngles(object->GetRotation()); + return std::unique_ptr<EditorAttachment>(result); +} |