#pragma once
#include <stdint.h>
#include <string>

namespace Deer {
    namespace EditorEngine {
        enum ResourceType : uint32_t {
            NOTHING = 0,
            MESH = 1,
            SHADER = 2,
        };

        // Returns the count of meshes in the dir relative to the mesh root dir
        int getResourceCount(ResourceType, std::string& dir);
        // Returns the path to the mesh with id i
        std::string getResourceNameById(ResourceType, std::string& dir, int i);
        // Returns the name of the mesh with id i
        std::string getResourcePathById(ResourceType, std::string& dir, int i);

        // Returns the count of sub dirs in the dir relative to the mesh root dir
        int getDirCount(ResourceType, std::string&);
        // Returns the path to the subDir in the dir relative to the mesh root dir
        std::string getDirPathById(ResourceType, std::string& dir, int i);
        // Returns the name of the subDir in the dir relative to the mesh root dir
        std::string getDirNameById(ResourceType, std::string& dir, int i);

        // INTERNAL
        const char* getResourcePath(ResourceType);
        const char* getResourceExtension(ResourceType);
        const char* getResourceName(ResourceType);
    }
}