Skip to content
Snippets Groups Projects
IDAReplayObserver.cpp 1.79 KiB
Newer Older
  • Learn to ignore specific revisions
  • Rojikku98's avatar
    Rojikku98 committed
    #include "IDAReplayObserver.h"
    
    Rojikku98's avatar
    Rojikku98 committed
    #include "Util.h"
    
    #include <pybind11/pybind11.h>
    
    
    Rojikku98's avatar
    Rojikku98 committed
    
    void IDAReplayObserver::setUnits()
    {
    	m_allUnits.clear();
    	for (auto & unit : Observation()->GetUnits())
    	{
    
    Rojikku98's avatar
    Rojikku98 committed
    		m_allUnits.push_back(ReplayUnit(unit, *this));
    
    Rojikku98's avatar
    Rojikku98 committed
    	}
    }
    
    IDAReplayObserver::IDAReplayObserver():
    	sc2::ReplayObserver()
    {
    }
    
    void IDAReplayObserver::OnGameStart()
    {
    	setUnits();
    }
    
    void IDAReplayObserver::OnStep()
    {
    	setUnits();
    
    Rojikku98's avatar
    Rojikku98 committed
    }
    
    void IDAReplayObserver::OnGameEnd()
    {
    }
    
    Rojikku98's avatar
    Rojikku98 committed
    
    
    void IDAReplayObserver::OnUnitDestroyed(const sc2::Unit* unit)
    {
    
    Rojikku98's avatar
    Rojikku98 committed
    	ReplayUnit unitInformation = ReplayUnit(unit, *this);
    
    	OnReplayUnitDestroyed(&unitInformation);
    
    void IDAReplayObserver::OnReplayUnitDestroyed(const ReplayUnit *)
    
    Rojikku98's avatar
    Rojikku98 committed
    {
    
    Rojikku98's avatar
    Rojikku98 committed
    }
    
    
    void IDAReplayObserver::OnUnitCreated(const sc2::Unit * unit)
    {
    	ReplayUnit unitInformation = ReplayUnit(unit, *this);
    	std::cout << "OnUnitCreated" << std::endl;
    	OnReplayUnitCreated(&unitInformation);
    }
    
    void IDAReplayObserver::OnReplayUnitCreated(const ReplayUnit *)
    {
    }
    
    void IDAReplayObserver::OnBuildingConstructionComplete(const sc2::Unit *unit)
    {
    	ReplayUnit unitInformation = ReplayUnit(unit, *this);
    	std::cout << "OnBuildingConstructionComplete" << std::endl;
    	OnReplayUnitCreated(&unitInformation);
    }
    
    
    
    Rojikku98's avatar
    Rojikku98 committed
    ReplayUnit IDAReplayObserver::GetUnit(const CCUnitID tag) const
    
    Rojikku98's avatar
    Rojikku98 committed
    	return ReplayUnit(Observation()->GetUnit(tag), *(IDAReplayObserver *)this);
    
    Rojikku98's avatar
    Rojikku98 committed
    }
    
    
    Rojikku98's avatar
    Rojikku98 committed
    const std::vector<ReplayUnit>& IDAReplayObserver::GetAllUnits() const
    
    Rojikku98's avatar
    Rojikku98 committed
    {
    
    Rojikku98's avatar
    Rojikku98 committed
    
    
    Rojikku98's avatar
    Rojikku98 committed
    	return m_allUnits;
    }
    
    
    Rojikku98's avatar
    Rojikku98 committed
    CCRace IDAReplayObserver::GetPlayerRace(int player)
    {	
    	return ReplayControl()->GetReplayInfo().players[player].race;
    }
    
    std::string IDAReplayObserver::GetReplayPath()
    
    Rojikku98's avatar
    Rojikku98 committed
    {
    
    Rojikku98's avatar
    Rojikku98 committed
    	return ReplayControl()->GetReplayInfo().replay_path;
    }
    
    Rojikku98's avatar
    Rojikku98 committed
    
    
    Rojikku98's avatar
    Rojikku98 committed
    sc2::GameResult IDAReplayObserver::GetResultForPlayer(int player)
    {
    	return ReplayControl()->GetReplayInfo().players[player].game_result;
    
    Rojikku98's avatar
    Rojikku98 committed
    }
    
    
    Rojikku98's avatar
    Rojikku98 committed