#ifndef CRESCACHE_H #define CRESCACHE_H #include #include #include #include #include struct SResSource { TString Path; enum { Folder, PakFile } Source; }; class CResCache { std::unordered_map mResourceCache; CPakFile *mpPak; SResSource mResSource; public: CResCache(); ~CResCache(); void Clean(); void SetFolder(TString path); void SetPak(const TString& path); void SetResSource(SResSource& ResSource); SResSource GetResSource(); TString GetSourcePath(); CResource* GetResource(CUniqueID ResID, CFourCC type); CResource* GetResource(const TString& ResPath); void CacheResource(CResource *pRes); void DeleteResource(CUniqueID ResID); }; extern CResCache gResCache; #endif // CRESCACHE_H