#pragma once #include <deque> #include <limits> #include "Common.h" #include "ReplayUnit.h" class ReplayUnit; class IDAReplayObserver : public sc2::ReplayObserver { void setUnits(); std::vector<ReplayUnit> m_allUnits; public: IDAReplayObserver(); void OnGameStart() override; void OnStep() override; void OnGameEnd() override; void OnUnitDestroyed(const sc2::Unit*) override; void OnUnitInfomationDestroyed(const ReplayUnit*); ReplayUnit GetUnit(const CCUnitID tag) const; const std::vector<ReplayUnit> & GetAllUnits() const; };