#pragma once #include struct ModelsDirectory { std::string FullPath; std::string Path; std::map SubDirectories; std::vector Models; std::vector ModelNames; }; struct Spawnlist { std::string Name; std::string Path; bool CanWriteTo; std::vector Props; }; class ModelsList { public: ModelsList(FileSystemManager& fsManager); void LoadSpawnlists(); void ChangeSpawnlist(std::string target); void AppendToSpawnlist(Spawnlist& appendTarget, std::string newModel); std::vector Spawnlists; Spawnlist* CurrentSpawnlist; ModelsDirectory BaseDir; protected: static std::string DefaultSpawnlist; void UpdateSpawnlist(Spawnlist& newSpawnlist); FileSystemManager* m_fsManager; std::unordered_map SpawnlistsFileMap; };