X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=bs%2Fbsdoc.cpp;h=5bf5f46863c6c28ec325cabca60f5b99703449e5;hb=5940cfda3be2c7b4ecbd64c814948b29139177c0;hp=f26e7e4d66a83104368eb41af05bcc5c1e1f74eb;hpb=ea21b4f48454fef675d3d1990269e9d7f4c16e99;p=hbs.git diff --git a/bs/bsdoc.cpp b/bs/bsdoc.cpp index f26e7e4..5bf5f46 100644 --- a/bs/bsdoc.cpp +++ b/bs/bsdoc.cpp @@ -17,6 +17,10 @@ #include "bsdoc.h" +#include "planet.h" + +using namespace std; + BSDoc::BSDoc() { modified = false; @@ -37,12 +41,14 @@ bool BSDoc::save() bool BSDoc::saveAs(const QString &filename) { + QString test = filename; return true; } bool BSDoc::load(const QString &filename) { - emit documentChanged(); + QString test = filename; + emit documentChanged(); return true; } @@ -56,9 +62,11 @@ bool BSDoc::isModified() const int BSDoc::newBattle(QString name) { - m_Battles[name]["Friendly"]["Home Planet"]; + m_Battles[name]["Friendly"]["Home Planet"] = new Planet();; + m_Battles[name]["Friendly"]["Home Fleet"] = new Fleet(); m_Battles[name]["Hostile"]; + //Planet* pl = dynamic_cast(m_Battles[name]["Friendly"]["Home Planet"]); modified = true; emit documentChanged(); return 0; @@ -67,8 +75,35 @@ int BSDoc::newBattle(QString name) ///////////////////////////////////////////////////////////////////////// // -std::map > >& BSDoc::Battles() +const BattleList& BSDoc::battles() const { return m_Battles; } +////////////////////////////////////////////////////////////////////////// +// +const Fleet* BSDoc::specificFleet(QString battle, QString group, QString fleet) const +{ + for (BattleList::const_iterator i = m_Battles.begin(); i != m_Battles.end(); ++i) + { + if (i->first == battle) + { + for (map >::const_iterator j = i->second.begin(); j != i->second.end(); j++) + { + if (j->first == group) + { + for (map::const_iterator k = j->second.begin(); k != j->second.end(); ++k) + { + if (k->first == fleet) + { + return k->second; + } + } + } + } + } + } + return '\0'; +} + +