diff --git a/assets/icons/folder.png b/assets/icons/folder.png new file mode 100644 index 0000000..784e8fa Binary files /dev/null and b/assets/icons/folder.png differ diff --git a/core/src/objects/folder.cpp b/core/src/objects/folder.cpp new file mode 100644 index 0000000..fc657c5 --- /dev/null +++ b/core/src/objects/folder.cpp @@ -0,0 +1,4 @@ +#include "folder.h" + +Folder::Folder(): Instance(&TYPE) {} +Folder::~Folder() = default; \ No newline at end of file diff --git a/core/src/objects/folder.h b/core/src/objects/folder.h new file mode 100644 index 0000000..350f69b --- /dev/null +++ b/core/src/objects/folder.h @@ -0,0 +1,19 @@ +#pragma once + +#include "objects/annotation.h" +#include "objects/base/instance.h" +#include + +// The simplest instance +// Has no functionality of its own, used purely for organizational/grouping purposes + +class DEF_INST_(explorer_icon="folder") Folder : public Instance { + AUTOGEN_PREAMBLE + +public: + Folder(); + ~Folder(); + + static inline std::shared_ptr New() { return std::make_shared(); }; + static inline std::shared_ptr Create() { return std::make_shared(); }; +}; \ No newline at end of file diff --git a/core/src/objects/meta.cpp b/core/src/objects/meta.cpp index 21428ad..5bdbd1c 100644 --- a/core/src/objects/meta.cpp +++ b/core/src/objects/meta.cpp @@ -1,4 +1,5 @@ #include "meta.h" +#include "objects/folder.h" #include "objects/joint/jointinstance.h" #include "objects/joint/rotate.h" #include "objects/joint/rotatev.h" @@ -23,6 +24,7 @@ std::map INSTANCE_MAP = { { "RotateV", &RotateV::TYPE }, { "JointInstance", &JointInstance::TYPE }, { "Script", &Script::TYPE }, + { "Folder", &Folder::TYPE }, // Services