Skip to content
Snippets Groups Projects
Commit 8eb3f8b3 authored by Rojikku98's avatar Rojikku98
Browse files

Det fungerar!

parent 4d6335a2
No related branches found
No related tags found
1 merge request!6Replays
......@@ -5,37 +5,5 @@ namespace py = pybind11;
void define_replay_unit(py::module & m)
{
py::class_<UnitInformation>(m, "ReplayUnit")
.def_property_readonly("unit_type", &Unit::getType, "The :class:`library.UnitType` of the unit")
.def_property_readonly("position", &Unit::getPosition, "The :class:`library.Point2D` of the unit")
.def_property_readonly("tile_position", &Unit::getTilePosition, "The :class:`library.Point2DI` of the unit")
.def_property_readonly("hit_points", &Unit::getHitPoints)
.def_property_readonly("shields", &Unit::getShields)
.def_property_readonly("energy", &Unit::getEnergy)
.def_property_readonly("player", &Unit::getPlayer)
.def_property_readonly("id", &Unit::getID)
.def_property_readonly("build_percentage", &Unit::getBuildPercentage)
.def_property_readonly("weapon_cooldown", &Unit::getWeaponCooldown)
.def_property_readonly("is_completed", &Unit::isCompleted)
.def_property_readonly("is_being_constructed", &Unit::isBeingConstructed)
.def_property_readonly("is_cloaked", &Unit::isCloaked)
.def_property_readonly("is_flying", &Unit::isFlying)
.def_property_readonly("buffs", &Unit::buffs)
.def_property_readonly("is_alive", &Unit::isAlive)
.def_property_readonly("is_powered", &Unit::isPowered)
.def_property_readonly("is_idle", &Unit::isIdle)
.def_property_readonly("is_burrowed", &Unit::isBurrowed)
.def_property_readonly("is_valid", &Unit::isValid)
.def_property_readonly("is_training", &Unit::isTraining)
.def_property_readonly("is_blip", &Unit::isBlip)
.def_property_readonly("target", &Unit::getTarget)
.def_property_readonly("has_target", &Unit::hasTarget)
.def_property_readonly("max_hit_points", &Unit::getMaxHitPoints)
.def_property_readonly("progress", &Unit::getProgress)
.def_property_readonly("current_ability_id", &Unit::getCurrentAbilityID, "The AbilityID of currently used ability")
.def_property_readonly("facing", &Unit::getFacing)
.def_property_readonly("radius", &Unit::getRadius)
.def_property_readonly("is_carrying_minerals", &Unit::isCarryingMinerals)
.def("__hash__", [](const Unit & unit) { return std::hash<const sc2::Unit *>{}(unit.getUnitPtr()); })
.def(py::self == py::self)
.def("__repr__", [](const Unit & unit) { return "<Unit of type: '" + unit.getType().getName() + "'>"; });
.def_property_readonly("id", &Unit::getID);
}
......@@ -89,14 +89,9 @@ PYBIND11_MODULE(library, m)
.def_property_readonly("current_frame", &IDABot::GetCurrentFrame, "Which frame we are currently on");
py::class_<sc2::ReplayObserver>(m, "ReplayObserver")
.def(py::init())
.def("on_game_start", &sc2::ReplayObserver::OnGameStart)
.def("on_step", &sc2::ReplayObserver::OnStep)
.def("on_game_end", &sc2::ReplayObserver::OnGameEnd);
//py::class_<sc2::ReplayObserver>(m, "ReplayObserver")
//.def(py::init());
py::class_<sc2::ReplayObserver>(m, "ReplayObserver")
.def(py::init());
py::class_<IDAReplayObserver, PyReplayObserver, sc2::ReplayObserver>(m, "IDAReplayObserver")
.def(py::init())
......
......@@ -3,13 +3,15 @@
void IDAReplayObserver::setUnits()
{
std::cout << "setunits" << std::endl;
m_allUnits.clear();
Control()->GetObservation();
for (auto & unit : Observation()->GetUnits())
{
m_allUnits.push_back(UnitInformation(unit, *this));
}
}
IDAReplayObserver::IDAReplayObserver():
......@@ -19,18 +21,23 @@ IDAReplayObserver::IDAReplayObserver():
void IDAReplayObserver::OnGameStart()
{
setUnits();
}
void IDAReplayObserver::OnStep()
{
setUnits();
}
const std::vector<UnitInformation>& IDAReplayObserver::GetAllUnits() const
{
return m_allUnits;
}
......
......@@ -11,7 +11,7 @@ class UnitInformation;
class IDAReplayObserver : public sc2::ReplayObserver
{
std::vector<UnitInformation> m_allUnits;
void setUnits();
......@@ -19,6 +19,8 @@ class IDAReplayObserver : public sc2::ReplayObserver
public:
IDAReplayObserver();
std::vector<UnitInformation> m_allUnits;
void OnGameStart() override;
void OnStep() override;
......
......@@ -8,8 +8,4 @@ UnitInformation::UnitInformation(const sc2::Unit * unit, IDAReplayObserver & rep
}
const UnitType & UnitInformation::getType() const
{
//m_replayObserver->Observation()
// TODO: insert return statement here1
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment