]> ruin.nu Git - hbs.git/blobdiff - bs/fleetview.cpp
added functionallity to show the cost for each roid.
[hbs.git] / bs / fleetview.cpp
index 3f2ff192957bdd842bb64e8209a52311e08f9ebb..da0714431b9573e89e817be9e4943379a3787ce8 100644 (file)
@@ -43,6 +43,7 @@ FleetView::FleetView(const Fleet* fleet, bool friendly, QWidget *parent, const c
                m_bHome = false;
        }
        
+       m_Fleet->printFleet();
        m_bFriendly = friendly;
 
        //m_ChangesMapper = new QSignalMapper(this);
@@ -90,6 +91,7 @@ void FleetView::viewFleet(const Fleet* fleet, bool friendly)
        {
                m_Fleet = new Fleet(*fleet);
        }
+       //m_Fleet->printFleet();
        fillTable();
 }
 
@@ -233,4 +235,68 @@ void FleetView::slotViewTickRange(int min = -1, int max = -1)
                int after = m_Fleet->fleet(i->latin1(), m_iMaxTick);
                m_UnitsLostSurvivedView[(*i)]->setText(QString("%1").arg(after - before));
        }
+
+       int lost;
+       int before;
+       int after;
+       
+       int init = 0;
+
+       before = m_Fleet->resource(tr("metal").latin1(),m_iMinTick);
+       after = m_Fleet->resource(tr("metal").latin1(),m_iMaxTick);
+       lost = after - before;
+       init += lost;
+       m_ResourceView->setLines(tr("metal"),lost);
+
+       before = m_Fleet->resource(tr("crystal").latin1(),m_iMinTick);
+       after = m_Fleet->resource(tr("crystal").latin1(),m_iMaxTick);
+       lost = after - before;
+       init += lost;
+       m_ResourceView->setLines(tr("crystal"),lost);
+
+       before = m_Fleet->resource(tr("eonium").latin1(),m_iMinTick);
+       after = m_Fleet->resource(tr("eonium").latin1(),m_iMaxTick);
+       lost = after - before;
+       init += lost;
+       m_ResourceView->setLines(tr("eonium"),lost);
+
+       before = m_Fleet->resource(tr("uninit").latin1(),m_iMinTick);
+       after = m_Fleet->resource(tr("uninit").latin1(),m_iMaxTick);
+       lost = after - before;
+       m_ResourceView->setLines(tr("uninit"),lost);
+
+       before = m_Fleet->score(m_iMinTick);
+       after = m_Fleet->score(m_iMaxTick);
+       lost = after - before;
+       m_ResourceView->setLines(tr("score"),after);
+       m_ResourceView->setLines(tr("lost"),lost);
+       float cost =  (before - after) / float(init) / 1000;
+       m_ResourceView->setLines(tr("cost"),cost);
+       
+
+
+       Planet* pl;
+       if ((pl = dynamic_cast<Planet*>(m_Fleet)))
+       {
+
+               before = pl->roids(tr("metal").latin1(),m_iMinTick);
+               after = pl->roids(tr("metal").latin1(),m_iMaxTick);
+               lost = after - before;
+               m_RoidsEditView->slotSetLost(tr("metal"),lost);
+
+               before = pl->roids(tr("crystal").latin1(),m_iMinTick);
+               after = pl->roids(tr("crystal").latin1(),m_iMaxTick);
+               lost = after - before;
+               m_RoidsEditView->slotSetLost(tr("crystal"),lost);
+
+               before = pl->roids(tr("eonium").latin1(),m_iMinTick);
+               after = pl->roids(tr("eonium").latin1(),m_iMaxTick);
+               lost = after - before;
+               m_RoidsEditView->slotSetLost(tr("eonium"),lost);
+
+               before = pl->roids(tr("uninit").latin1(),m_iMinTick);
+               after = pl->roids(tr("uninit").latin1(),m_iMaxTick);
+               lost = after - before;
+               m_RoidsEditView->slotSetLost(tr("uninit"),lost);
+       }
 }