#pragma once
#include "GenericRefStructs.h"
#include "DeerRender/SceneCamera.h"

#include <string>

namespace Deer {
    namespace EditorEngine {
        struct EnvironmentStruct : EnvironmentHandleStruct {
            void render(FrameBufferHandleStruct, SceneCamera&);

            EntityHandleStruct getRootEntity();
            EntityHandleStruct getEntity(int);

            std::string getName();
        };

        EnvironmentHandleStruct getMainEnvironment();

        EnvironmentHandleStruct createEnvironment(std::string&);
        EnvironmentHandleStruct getEnvironment(std::string&);
        
        void registerEnvironmentStructs();
        void registerEnvironmentFunctions();
    }
}