Program Listing for File editor.hpp

Return to documentation for file (/home/runner/work/Legion-Engine/Legion-Engine/legion/editor/editor-core/editor/editor.hpp)

#pragma once
#include <core/core.hpp>
#include <editor-core/editor/editormodule.hpp>

namespace legion::editor
{
    class Editor
    {
    public:
        template <class ModuleType, class... Args CNDOXY(inherits_from<ModuleType, EditorModule> = 0)>
        void reportModule(Args&&...args)
        {

        }
    };

    namespace detail
    {
        class EditorEngineModule : public Module
        {
        public:
            EditorEngineModule(Editor* editor);

            virtual void setup();
        };
    }
}

extern void reportEditorModules(legion::editor::Editor* editor);

#if defined(LEGION_ENTRY)
namespace legion::editor::detail
{
    Editor editor;
}

void LEGION_CCONV reportModules(legion::Engine* engine)
{
    using namespace legion::editor::detail;

    reportEditorModules(&editor);
    engine->reportModule<EditorEngineModule>(&editor);
}
#endif