From 2b983ec518b8b703f5c2e5506faded32f293970c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Bergstr=C3=B6m?= <davbe125@student.liu.se> Date: Wed, 25 Jul 2018 16:44:25 +0200 Subject: [PATCH] Add code for researching an upgrade --- python-api-src/lib_unit.cpp | 1 + src/Unit.cpp | 6 ++++++ src/Unit.h | 1 + 3 files changed, 8 insertions(+) diff --git a/python-api-src/lib_unit.cpp b/python-api-src/lib_unit.cpp index 358dbbb59..dd8a18b17 100644 --- a/python-api-src/lib_unit.cpp +++ b/python-api-src/lib_unit.cpp @@ -37,6 +37,7 @@ void define_unit(py::module & m) .def("build_target", &Unit::buildTarget) .def("train", &Unit::train) .def("morph", &Unit::morph) + .def("research", &Unit::research) .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() + "'>"; }); diff --git a/src/Unit.cpp b/src/Unit.cpp index 51ffd4c24..934db2c6e 100644 --- a/src/Unit.cpp +++ b/src/Unit.cpp @@ -298,6 +298,12 @@ void Unit::morph(const UnitType & type) const #endif } +void Unit::research(sc2::UpgradeID upgrade) const +{ + BOT_ASSERT(isValid(), "Unit is not valid"); + m_bot->Actions()->UnitCommand(m_unit, m_bot->Data(upgrade).buildAbility); +} + bool Unit::isConstructing(const UnitType & type) const { sc2::AbilityID buildAbility = m_bot->Data(type).buildAbility; diff --git a/src/Unit.h b/src/Unit.h index 2e4a36044..5770bd80b 100644 --- a/src/Unit.h +++ b/src/Unit.h @@ -58,4 +58,5 @@ public: void buildTarget (const UnitType & buildingType, const Unit & target) const; void train (const UnitType & buildingType) const; void morph (const UnitType & type) const; + void research (sc2::UpgradeID upgrade) const; }; -- GitLab