From c601ee80e841a1aef2911652bc173bed7461f919 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Bergstr=C3=B6m?= <davbe125@student.liu.se> Date: Thu, 28 Jun 2018 11:38:51 +0200 Subject: [PATCH] Add constructors for UnitType objects Note the implicit conversion between UNIT_TYPEID and UnitTypeID. This allows for the creation of UnitType objects directly from UNIT_TYPEID. --- python-api-src/lib_unittype.cpp | 1 + python-api-src/library.cpp | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/python-api-src/lib_unittype.cpp b/python-api-src/lib_unittype.cpp index 0586d1b..c3535b4 100644 --- a/python-api-src/lib_unittype.cpp +++ b/python-api-src/lib_unittype.cpp @@ -5,6 +5,7 @@ namespace py = pybind11; void define_unittype(py::module & m) { py::class_<UnitType>(m, "UnitType") + .def(py::init<const sc2::UnitTypeID &, IDABot &>()) .def("is", &UnitType::is, "Check if UnitType is UnitTypeID") .def(py::self == py::self) .def_property_readonly("name", &UnitType::getName) diff --git a/python-api-src/library.cpp b/python-api-src/library.cpp index c5a4e4f..855f447 100644 --- a/python-api-src/library.cpp +++ b/python-api-src/library.cpp @@ -26,6 +26,18 @@ PYBIND11_MODULE(library, m) .value("Protoss", sc2::Race::Protoss) .value("Random", sc2::Race::Random); + /* + TODO: These also needs to be defined + + typedef SC2Type<ABILITY_ID> AbilityID; + typedef SC2Type<UPGRADE_ID> UpgradeID; + typedef SC2Type<BUFF_ID> BuffID; + */ + py::class_<sc2::UnitTypeID>(m, "UnitTypeID") + .def(py::init<sc2::UNIT_TYPEID>()); + + py::implicitly_convertible<sc2::UNIT_TYPEID, sc2::UnitTypeID>(); + py::class_<sc2::Agent>(m, "Agent") .def(py::init()); -- GitLab