#pragma once
#include "prismeditor.hpp"
#include "engine.hpp"
class AddObjectCommand : public Command {
public:
prism::Object id;
std::string name;
std::string fetch_name() override {
return "Add object " + name;
}
void undo() override {
engine->get_scene()->remove_object(id);
void execute() override {
engine->get_scene()->add_object_by_id(id);
engine->get_scene()->get(id).name = name;
};
class SceneEditor : public Editor {
Scene* scene = nullptr;
bool showSceneSettings = true;
bool showOutliner = true;
bool showProperties = true;
bool showViewport = true;
bool showAssets = true;
bool showUndoStack = false;
bool has_menubar() const override;
std::string get_title() const override;
Scene* get_scene() const override;
void setup_windows(ImGuiID dockspace) override;
void draw(CommonEditor* editor) override;