Skip to content
Snippets Groups Projects
IDAReplayObserver.h 823 B
Newer Older
Rojikku98's avatar
Rojikku98 committed
#pragma once

#include <deque>
#include <limits>

#include "Common.h"
Rojikku98's avatar
Rojikku98 committed
#include "ReplayUnit.h"
Rojikku98's avatar
Rojikku98 committed
class ReplayUnit;
Rojikku98's avatar
Rojikku98 committed

class IDAReplayObserver : public sc2::ReplayObserver
{
	void setUnits();
Rojikku98's avatar
Rojikku98 committed
	std::vector<ReplayUnit>       m_allUnits;
Rojikku98's avatar
Rojikku98 committed

public:
	IDAReplayObserver();
Rojikku98's avatar
Rojikku98 committed
	void OnGameStart() override;
	void OnStep() override;
Rojikku98's avatar
Rojikku98 committed
	void OnGameEnd() override;
	void OnUnitDestroyed(const sc2::Unit*) override;
	virtual void OnReplayUnitDestroyed(const ReplayUnit*);
	void OnUnitCreated(const sc2::Unit*);
	virtual void OnReplayUnitCreated(const ReplayUnit*);
	void OnBuildingConstructionComplete(const sc2::Unit*);
Rojikku98's avatar
Rojikku98 committed
	ReplayUnit GetUnit(const CCUnitID tag) const;
Rojikku98's avatar
Rojikku98 committed
	const std::vector<ReplayUnit> & GetAllUnits() const;
Rojikku98's avatar
Rojikku98 committed
	CCRace GetPlayerRace(int player);
	std::string GetReplayPath();
	sc2::GameResult GetResultForPlayer(int player);