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
No related merge requests found
...@@ -5,37 +5,5 @@ namespace py = pybind11; ...@@ -5,37 +5,5 @@ namespace py = pybind11;
void define_replay_unit(py::module & m) void define_replay_unit(py::module & m)
{ {
py::class_<UnitInformation>(m, "ReplayUnit") py::class_<UnitInformation>(m, "ReplayUnit")
.def_property_readonly("unit_type", &Unit::getType, "The :class:`library.UnitType` of the unit") .def_property_readonly("id", &Unit::getID);
.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() + "'>"; });
} }
...@@ -89,14 +89,9 @@ PYBIND11_MODULE(library, m) ...@@ -89,14 +89,9 @@ PYBIND11_MODULE(library, m)
.def_property_readonly("current_frame", &IDABot::GetCurrentFrame, "Which frame we are currently on"); .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") py::class_<sc2::ReplayObserver>(m, "ReplayObserver")
//.def(py::init()); .def(py::init());
py::class_<IDAReplayObserver, PyReplayObserver, sc2::ReplayObserver>(m, "IDAReplayObserver") py::class_<IDAReplayObserver, PyReplayObserver, sc2::ReplayObserver>(m, "IDAReplayObserver")
.def(py::init()) .def(py::init())
......
...@@ -3,13 +3,15 @@ ...@@ -3,13 +3,15 @@
void IDAReplayObserver::setUnits() void IDAReplayObserver::setUnits()
{ {
std::cout << "setunits" << std::endl;
m_allUnits.clear(); m_allUnits.clear();
Control()->GetObservation(); Control()->GetObservation();
for (auto & unit : Observation()->GetUnits()) for (auto & unit : Observation()->GetUnits())
{ {
m_allUnits.push_back(UnitInformation(unit, *this)); m_allUnits.push_back(UnitInformation(unit, *this));
} }
} }
IDAReplayObserver::IDAReplayObserver(): IDAReplayObserver::IDAReplayObserver():
...@@ -19,18 +21,23 @@ IDAReplayObserver::IDAReplayObserver(): ...@@ -19,18 +21,23 @@ IDAReplayObserver::IDAReplayObserver():
void IDAReplayObserver::OnGameStart() void IDAReplayObserver::OnGameStart()
{ {
setUnits(); setUnits();
} }
void IDAReplayObserver::OnStep() void IDAReplayObserver::OnStep()
{ {
setUnits(); setUnits();
} }
const std::vector<UnitInformation>& IDAReplayObserver::GetAllUnits() const const std::vector<UnitInformation>& IDAReplayObserver::GetAllUnits() const
{ {
return m_allUnits; return m_allUnits;
} }
......
...@@ -11,7 +11,7 @@ class UnitInformation; ...@@ -11,7 +11,7 @@ class UnitInformation;
class IDAReplayObserver : public sc2::ReplayObserver class IDAReplayObserver : public sc2::ReplayObserver
{ {
std::vector<UnitInformation> m_allUnits;
void setUnits(); void setUnits();
...@@ -19,6 +19,8 @@ class IDAReplayObserver : public sc2::ReplayObserver ...@@ -19,6 +19,8 @@ class IDAReplayObserver : public sc2::ReplayObserver
public: public:
IDAReplayObserver(); IDAReplayObserver();
std::vector<UnitInformation> m_allUnits;
void OnGameStart() override; void OnGameStart() override;
void OnStep() override; void OnStep() override;
......
...@@ -8,8 +8,4 @@ UnitInformation::UnitInformation(const sc2::Unit * unit, IDAReplayObserver & rep ...@@ -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.
Please register or to comment