X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=bs%2Ffleet.cpp;h=2bd245ba29af67dfc1abadb6a4bdd33f12e35528;hb=ba016135c4c232c79cb35c92f239579ca3d84df3;hp=35de49b849adc58016de508afd2217036f50da2d;hpb=4449ffee20fa04e3b865cbd37ba8027bae599018;p=hbs.git diff --git a/bs/fleet.cpp b/bs/fleet.cpp index 35de49b..2bd245b 100644 --- a/bs/fleet.cpp +++ b/bs/fleet.cpp @@ -17,10 +17,17 @@ #include "fleet.h" +#include using namespace std; +//Static variables +map > Fleet::s_Races; +UnitList Fleet::s_Units; + Fleet::Fleet() { + m_iETA = 0; + m_sRace = "Cathaar"; } Fleet::~Fleet(){ } @@ -34,7 +41,7 @@ void Fleet::setName(string sName) ////////////////////////////////////////////////////////////////////////// // -string Fleet::Name() +string Fleet::Name() const { return m_sName; } @@ -45,10 +52,9 @@ string Fleet::Name() * s_Races and checks if it finds the race it returns true, if it reaches * the end without finding it it returns false. */ -bool Fleet::setRace(std::string sRace) +bool Fleet::setRace(string sRace) { m_sRace = sRace; - s_Units.begin(); for (map >::iterator i = s_Races.begin(); i != s_Races.end(); i++) { if (m_sRace == (*i).first) @@ -59,9 +65,95 @@ bool Fleet::setRace(std::string sRace) ////////////////////////////////////////////////////////////////////////// // -string Fleet::Race() +string Fleet::Race() const { return m_sRace; } +////////////////////////////////////////////////////////////////////////// +// +/** This function iterates through m_Fleet and adds all numbers together to + * produce a total. + */ +int Fleet::NumberOfShips() const +{ + int total = 0; + + for (map >::const_iterator i = m_Fleet.begin(); i != m_Fleet.end(); ++i) + { + total += i->second[0]; + } + + return total; +} + +////////////////////////////////////////////////////////////////////////// +// +void Fleet::setETA(int eta) +{ + m_iETA = eta; +} + +////////////////////////////////////////////////////////////////////////// +// +int Fleet::ETA() const +{ + return m_iETA; +} + +////////////////////////////////////////////////////////////////////////// +// +void Fleet::setRaces(map >& races) +{ + s_Races = races; +} + +////////////////////////////////////////////////////////////////////////// +// +void Fleet::setUnits(UnitList& units) +{ + s_Units = units; + + 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" + << s_Units[(*i).first].Class() << "\t" + << s_Units[(*i).first].Target(0) << "\t" + << s_Units[(*i).first].Target(1) << "\t" + << s_Units[(*i).first].Target(2) << "\t" + << s_Units[(*i).first].Initiative() << "\t" + << s_Units[(*i).first].Agility() << "\t" + << s_Units[(*i).first].WeaponSpeed() << "\t" + << s_Units[(*i).first].Guns() << "\t" + << s_Units[(*i).first].Power() << "\t" + << s_Units[(*i).first].Armor() << "\t" + << s_Units[(*i).first].EMP() << "\t" + << s_Units[(*i).first].TotRes() << "\t" + << s_Units[(*i).first].Fuel() << "\t" + << s_Units[(*i).first].ETA() << "\t" + << s_Units[(*i).first].Type() << endl; + } +} + +////////////////////////////////////////////////////////////////////////// +// +const map >& Fleet::Races() +{ + return s_Races; +} + +////////////////////////////////////////////////////////////////////////// +// +const UnitList& Fleet::Units() +{ + return s_Units; +} + +////////////////////////////////////////////////////////////////////////// +// +vector Fleet::RacesAllowed() const +{ + return s_Races[m_sRace]; +}