feat(instance): folder, AKA probably one of if not the most useless features thus far

This commit is contained in:
maelstrom 2025-05-30 00:40:04 +02:00
parent 8b7fef624f
commit f6d5ebd7c7
4 changed files with 25 additions and 0 deletions

BIN
assets/icons/folder.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

View file

@ -0,0 +1,4 @@
#include "folder.h"
Folder::Folder(): Instance(&TYPE) {}
Folder::~Folder() = default;

19
core/src/objects/folder.h Normal file
View file

@ -0,0 +1,19 @@
#pragma once
#include "objects/annotation.h"
#include "objects/base/instance.h"
#include <memory>
// 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<Folder> New() { return std::make_shared<Folder>(); };
static inline std::shared_ptr<Instance> Create() { return std::make_shared<Folder>(); };
};

View file

@ -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<std::string, const InstanceType*> INSTANCE_MAP = {
{ "RotateV", &RotateV::TYPE },
{ "JointInstance", &JointInstance::TYPE },
{ "Script", &Script::TYPE },
{ "Folder", &Folder::TYPE },
// Services