//
bool BSConf::loadStats()
{
- std::map<std::string, UnitType> units;
+ UnitList units;
QFile f(m_sStatsFilename);
if ( f.open(IO_ReadOnly) )
//Static variables
map<string, vector<int> > Fleet::s_Races;
-map<string, UnitType > Fleet::s_Units;
+UnitList Fleet::s_Units;
Fleet::Fleet()
{
//////////////////////////////////////////////////////////////////////////
//
-void Fleet::setUnits(map<string, UnitType>& units)
+void Fleet::setUnits(UnitList& units)
{
s_Units = units;
- for (map<string, UnitType >::iterator i = s_Units.begin(); i != s_Units.end(); i++)
+ for (UnitList::iterator i = s_Units.begin(); i != s_Units.end(); i++)
{
cerr << s_Units[(*i).first].Name() << "\t\t"
<< s_Units[(*i).first].Race() <<"\t"
//////////////////////////////////////////////////////////////////////////
//
-const map<string, UnitType>& Fleet::Units()
+const UnitList& Fleet::Units()
{
return s_Units;
}
#define FLEET_H
#include <map>
+#include <ext/hash_map>
#include <string>
#include <vector>
#include "unittype.h"
+ template<typename T> class MyComp { public: bool operator()(T,T) { return false; } };
+typedef std::map<std::string, UnitType> UnitList;
//!This is the engine for the whole battlesystem.
/**This is the engine for the whole battlesystem.
* One of the few parts that I plan make fully portable.
int ETA() const;
static void setRaces(std::map<std::string, std::vector<int> >& races);
- static void setUnits(std::map<std::string, UnitType>& units);
+ static void setUnits(UnitList& units);
static const std::map<std::string, std::vector<int> >& Races();
- static const std::map<std::string, UnitType>& Units();
+ static const UnitList& Units();
protected:
std::string m_sName;
int m_iETA;
std::map<std::string, std::vector<int> > m_Fleet;
- static std::map<std::string, UnitType> s_Units;
+ static UnitList s_Units;
static std::map<std::string, std::vector<int> > s_Races;
};