#pragma once #include "IEngine.h" #include "IFileSystem.h" #include "unzip.h" class FileSystem : public IFileSystem { public: FileSystem(IEngine* ar_Engine_); virtual ~FileSystem(); virtual void InitializeFromDirectory(string16 argDirectory = L"data"); virtual void InitializeFromZipFile(string16 argZipFile = L"data.pak"); virtual IFile* Open(string16 argFileName); private: IEngine* m_Engine; bool m_Zip; HZIP m_ZipHandle; char m_Directory[MAX_PATH]; char m_AppDirectory[MAX_PATH]; };