X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=bs%2Ffleet.cpp;h=117ce39cb74e61b5b7e233cdc8db991f5b85b622;hb=15d92b3097a80faf26b8ce4cb4a6b957d17bc092;hp=a57d25e86db06c0a359928fee7b3a70e50729d6b;hpb=a779cd198be469897a9dec45c9b2ba38b183de2f;p=hbs.git diff --git a/bs/fleet.cpp b/bs/fleet.cpp index a57d25e..117ce39 100644 --- a/bs/fleet.cpp +++ b/bs/fleet.cpp @@ -17,7 +17,143 @@ #include "fleet.h" -Fleet::Fleet(){ +#include +using namespace std; + +//Static variables +map > Fleet::s_Races; +map Fleet::s_Units; + +Fleet::Fleet() +{ + m_iETA = 0; + m_sRace = "Generic"; } Fleet::~Fleet(){ } + +////////////////////////////////////////////////////////////////////////// +// +void Fleet::setName(string sName) +{ + m_sName = sName; +} + +////////////////////////////////////////////////////////////////////////// +// +string Fleet::Name() const +{ + return m_sName; +} + +////////////////////////////////////////////////////////////////////////// +// +/** This function first sets the race, then it iterates through the the + * 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(string sRace) +{ + m_sRace = sRace; + for (map >::iterator i = s_Races.begin(); i != s_Races.end(); i++) + { + if (m_sRace == (*i).first) + return true; + } + return false; +} + +////////////////////////////////////////////////////////////////////////// +// +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(map& units) +{ + s_Units = units; + + for (map::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 map& Fleet::Units() +{ + return s_Units; +} + +////////////////////////////////////////////////////////////////////////// +// +vector Fleet::RacesAllowed() const +{ + return s_Races[m_sRace]; +} +