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

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

		// Returns the count of meshes in the dir relative to the mesh root dir
		int getAssetCount(AssetType, std::string& dir);
		// Returns the path to the mesh with id i
		std::string getAssetNameById(AssetType, std::string& dir, int i);
		// Returns the name of the mesh with id i
		std::string getAssetTypePathById(AssetType, std::string& dir, int i);

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

		std::string getParentPath(std::string&);
		std::string getParentPathName(std::string&);

		// INTERNAL
		const char* getAssetTypePath(AssetType);
		const char* getAssetTypeExtension(AssetType);
		const char* getAssetTypeName(AssetType);
	} // namespace EditorEngine
} // namespace Deer