#include "IDAReplayObserver.h" #include "Util.h" void IDAReplayObserver::setUnits() { m_allUnits.clear(); for (auto & unit : Observation()->GetUnits()) { m_allUnits.push_back(UnitInformation(unit, *this)); } } IDAReplayObserver::IDAReplayObserver(): sc2::ReplayObserver() { } void IDAReplayObserver::OnGameStart() { setUnits(); } void IDAReplayObserver::OnStep() { setUnits(); } void IDAReplayObserver::OnGameEnd() { } void IDAReplayObserver::OnUnitDestroyed(const sc2::Unit* unit) { UnitInformation unitInformation = UnitInformation(unit, *this); OnUnitInfomationDestroyed(&unitInformation); } UnitInformation IDAReplayObserver::GetUnit(const CCUnitID tag) const { std::cout << tag << std::endl; if (tag == 0) { std::cout << "TAG == 0" << std::endl; } UnitInformation(Observation()->GetUnit(tag), *(IDAReplayObserver *)this); std::cout << "OK" << std::endl; return UnitInformation(Observation()->GetUnit(tag), *(IDAReplayObserver *)this); } const std::vector<UnitInformation>& IDAReplayObserver::GetAllUnits() const { return m_allUnits; }