aboutsummaryrefslogtreecommitdiff
path: root/source/30-game/EditorAttachmentImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/30-game/EditorAttachmentImpl.cpp')
-rw-r--r--source/30-game/EditorAttachmentImpl.cpp21
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);
+}