aboutsummaryrefslogtreecommitdiff
path: root/source/30-game/EditorAttachmentImpl.cpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2023-09-20 23:58:58 -0700
committerrtk0c <[email protected]>2023-09-20 23:58:58 -0700
commitf138311d2d2e0cc9ba0496d523bb46f2c1c9fb73 (patch)
treef96100a813a4ffb28dcd074455d3a2f8ee426430 /source/30-game/EditorAttachmentImpl.cpp
Copy from the PlasticSCM repo, replace vendored glm wtih conan
Diffstat (limited to 'source/30-game/EditorAttachmentImpl.cpp')
-rw-r--r--source/30-game/EditorAttachmentImpl.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/source/30-game/EditorAttachmentImpl.cpp b/source/30-game/EditorAttachmentImpl.cpp
new file mode 100644
index 0000000..b09c133
--- /dev/null
+++ b/source/30-game/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);
+}