make HeaderBar read the tick, artifacts and boss wave from the simulation instead of event
This commit is contained in:
@@ -107,9 +107,9 @@ HeaderBar::~HeaderBar()
|
|||||||
unregisterForEvents();
|
unregisterForEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
void HeaderBar::handleEvent(std::shared_ptr<const TickAdvancedEvent> event)
|
void HeaderBar::handleEvent(std::shared_ptr<const TickAdvancedEvent> /*event*/)
|
||||||
{
|
{
|
||||||
const int totalSeconds = static_cast<int>(ticksToSeconds(event->tick));
|
const int totalSeconds = static_cast<int>(ticksToSeconds(m_sim->getCurrentTick()));
|
||||||
m_timeLabel->setText(
|
m_timeLabel->setText(
|
||||||
QString("%1:%2")
|
QString("%1:%2")
|
||||||
.arg(totalSeconds / 60, 2, 10, QChar('0'))
|
.arg(totalSeconds / 60, 2, 10, QChar('0'))
|
||||||
@@ -195,22 +195,26 @@ void HeaderBar::handleEvent(std::shared_ptr<const GameSpeedChangedEvent> event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void HeaderBar::handleEvent(std::shared_ptr<const BossWaveUpdatedEvent> event)
|
void HeaderBar::handleEvent(std::shared_ptr<const BossWaveUpdatedEvent> /*event*/)
|
||||||
{
|
{
|
||||||
const int bossSeconds = static_cast<int>(
|
const Tick countdownTicks = m_sim->getBossCountdownTicks();
|
||||||
ticksToSeconds(event->countdownTicks > 0 ? event->countdownTicks : 0));
|
const int bossSeconds = static_cast<int>(
|
||||||
|
ticksToSeconds(countdownTicks > 0 ? countdownTicks : 0));
|
||||||
m_bossWaveLabel->setText(
|
m_bossWaveLabel->setText(
|
||||||
tr("Boss Wave #%1")
|
tr("Boss Wave #%1")
|
||||||
.arg(event->counter));
|
.arg(m_sim->getBossWaveCounter()));
|
||||||
m_nextBossLabel->setText(
|
m_nextBossLabel->setText(
|
||||||
tr("Next boss: %1:%2")
|
tr("Next boss: %1:%2")
|
||||||
.arg(bossSeconds / 60)
|
.arg(bossSeconds / 60)
|
||||||
.arg(bossSeconds % 60, 2, 10, QChar('0')));
|
.arg(bossSeconds % 60, 2, 10, QChar('0')));
|
||||||
}
|
}
|
||||||
|
|
||||||
void HeaderBar::handleEvent(std::shared_ptr<const ArtifactCountChangedEvent> event)
|
void HeaderBar::handleEvent(std::shared_ptr<const ArtifactCountChangedEvent> /*event*/)
|
||||||
{
|
{
|
||||||
m_artifactsLabel->setText(tr("Artifacts: %1/%2").arg(event->count).arg(event->winCount));
|
m_artifactsLabel->setText(
|
||||||
|
tr("Artifacts: %1/%2")
|
||||||
|
.arg(m_sim->getArtifactCount())
|
||||||
|
.arg(m_sim->getConfig().world.artifacts.artifactWinCount));
|
||||||
}
|
}
|
||||||
|
|
||||||
void HeaderBar::onSpeedButton(int index)
|
void HeaderBar::onSpeedButton(int index)
|
||||||
|
|||||||
@@ -75,8 +75,8 @@ private:
|
|||||||
|
|
||||||
ItemIconCache* m_itemIcons; // Not owned; lives in MainWindow.
|
ItemIconCache* m_itemIcons; // Not owned; lives in MainWindow.
|
||||||
|
|
||||||
// The simulation is the single source of truth for the block stock and the
|
// The simulation is the single source of truth for everything the header
|
||||||
// expansion cost; the change events are only refresh signals.
|
// displays; the change events are only refresh signals.
|
||||||
const Simulation* m_sim;
|
const Simulation* m_sim;
|
||||||
|
|
||||||
static const double kSpeeds[];
|
static const double kSpeeds[];
|
||||||
|
|||||||
Reference in New Issue
Block a user