/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */ /* If you are missing that file, acquire a complete release at teeworlds.com. */ #ifndef GAME_CLIENT_COMPONENTS_COUNTRYFLAGS_H #define GAME_CLIENT_COMPONENTS_COUNTRYFLAGS_H #include #include #include class CCountryFlags : public CComponent { public: struct CCountryFlag { int m_CountryCode; int m_Texture; bool operator<(const CCountryFlag &Other) { return m_CountryCode < Other.m_CountryCode; } }; void OnInit(); int Num() const; const CCountryFlag *GetByCountryCode(int CountryCode) const; const CCountryFlag *GetByIndex(int Index) const; //int Find(int CountryCode) const; private: enum { CODE_LB=-1, CODE_UB=999, CODE_RANGE=CODE_UB-CODE_LB+1, }; sorted_array m_aCountryFlags; int m_CodeIndexLUT[CODE_RANGE]; void LoadCountryflagsIndexfile(); }; #endif