diff --git a/python-api-src/library.h b/python-api-src/library.h index b5ba825c9e99d42276b9068bab58cac3210f4b9a..f6a91826d3c43329ac5e001c3b7e20debb00cd4c 100644 --- a/python-api-src/library.h +++ b/python-api-src/library.h @@ -61,6 +61,7 @@ public: } }; +//todo fixa! class PyReplayObserver : public sc2::ReplayObserver { public: diff --git a/src/IDAReplayObserver.cpp b/src/IDAReplayObserver.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5a7885c3d51d1c833f7981c2d0a55ac9b1d49961 --- /dev/null +++ b/src/IDAReplayObserver.cpp @@ -0,0 +1 @@ +#include "IDAReplayObserver.h" diff --git a/src/IDAReplayObserver.h b/src/IDAReplayObserver.h new file mode 100644 index 0000000000000000000000000000000000000000..39b9aa420d4431ba786725985a760733ccebcf8e --- /dev/null +++ b/src/IDAReplayObserver.h @@ -0,0 +1,41 @@ +#pragma once + +#include <deque> +#include <limits> + +#include "Common.h" + +#include "MapTools.h" +#include "BaseLocationManager.h" +#include "UnitInfoManager.h" +#include "BuildingPlacer.h" +#include "TechTree.h" +#include "TechTreeImproved.h" +#include "MetaType.h" +#include "Unit.h" + +class IDAReplayObserver : public sc2::ReplayObserver +{ + MapTools m_map; + BaseLocationManager m_bases; + UnitInfoManager m_unitInfo; + TechTree m_techTree; + BuildingPlacer m_buildingPlacer; + + std::vector<Unit> m_allUnits; + std::vector<CCPosition> m_baseLocations; + + void setUnits(); + void OnError(const std::vector<sc2::ClientError> & client_errors, + const std::vector<std::string> & protocol_errors = {}) override; + +public: + IDAReplayObserver(); + + void OnGameStart() override; + void OnStep() override; + + const std::vector<Unit> & GetAllUnits() const; + +}; +