//Manages the tech templates. More detail: see CFormation and CEntityTemplate (collections) #ifndef INCLUDED_TECHNOLOGYCOLLECTION #define INCLUDED_TECHNOLOGYCOLLECTION #include "ps/CStr.h" #include "ps/Singleton.h" #include "Technology.h" #include "ps/Game.h" #define g_TechnologyCollection CTechnologyCollection::GetSingleton() class CTechnologyCollection : public Singleton { typedef std::map TechMap; typedef std::map TechFilenameMap; TechMap m_techs[PS_MAX_PLAYERS+1]; TechFilenameMap m_techFilenames; public: std::vector activeTechs[PS_MAX_PLAYERS+1]; CTechnology* GetTechnology( const CStrW& techType, CPlayer* player ); ~CTechnologyCollection(); int LoadTechnologies(); // called by non-member trampoline via LoadTechnologies void LoadFile( const char* path ); }; #endif