switch to using own event system

This commit is contained in:
2026-06-13 17:42:16 +02:00
parent ed17664ef1
commit 5317f35198
49 changed files with 611 additions and 300 deletions

View File

@@ -136,7 +136,7 @@ void Simulation::reset(unsigned int seed)
m_playerStation2Entity = entt::null;
m_currentEnemyStationEntities[0] = entt::null;
m_currentEnemyStationEntities[1] = entt::null;
m_fireEvents.clear();
m_weaponFiredEvents.clear();
m_pendingSchematicChoices.clear();
m_admin.clear();
@@ -246,7 +246,7 @@ void Simulation::tick()
// Step 8: combat resolution
m_combatSystem->tick(m_currentTick, m_admin,
*m_buildingSystem, m_fireEvents);
*m_buildingSystem, m_weaponFiredEvents);
// Step 8b: deferred damage whose impact tick has arrived
m_combatSystem->applyPendingDamage(m_currentTick, m_admin);
@@ -745,10 +745,10 @@ bool Simulation::isItemUnlocked(const std::string& itemId) const
// Drains
// ---------------------------------------------------------------------------
std::vector<FireEvent> Simulation::drainFireEvents()
std::vector<WeaponFiredEvent> Simulation::drainWeaponFiredEvents()
{
std::vector<FireEvent> result;
result.swap(m_fireEvents);
std::vector<WeaponFiredEvent> result;
result.swap(m_weaponFiredEvents);
return result;
}

View File

@@ -16,7 +16,7 @@
#include "BuildingType.h"
#include "BuildingId.h"
#include "EventHandler.h"
#include "FireEvent.h"
#include "WeaponFiredEvent.h"
#include "GameConfig.h"
#include "Rotation.h"
#include "Tick.h"
@@ -50,7 +50,7 @@ public:
// Returns all fire events accumulated since the last drain, clearing the
// internal queue. Call once per rendered frame (REQ-SHP-FIRING-BEAM).
std::vector<FireEvent> drainFireEvents();
std::vector<WeaponFiredEvent> drainWeaponFiredEvents();
// Returns the pending schematic choices (empty if no drop is pending).
const std::vector<SchematicChoiceOption>& getPendingSchematicChoices() const;
@@ -165,6 +165,6 @@ private:
std::unique_ptr<WaveSystem> m_waveSystem;
std::unique_ptr<CombatSystem> m_combatSystem;
std::vector<FireEvent> m_fireEvents;
std::vector<WeaponFiredEvent> m_weaponFiredEvents;
std::vector<SchematicChoiceOption> m_pendingSchematicChoices;
};