From 17a7c40ce4dc53b255b37b8d3b5a34f9ed1d792a Mon Sep 17 00:00:00 2001
From: Rojikku98 <be.edvin@gmail.com>
Date: Wed, 29 Jul 2020 16:19:49 +0200
Subject: [PATCH] Added perspectives and fixed get_player

---
 python-api-src/lib_replay_unit.cpp | 2 +-
 python-api-src/library.cpp         | 4 +++-
 src/ReplayUnit.cpp                 | 5 +++++
 src/ReplayUnit.h                   | 2 ++
 4 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/python-api-src/lib_replay_unit.cpp b/python-api-src/lib_replay_unit.cpp
index 63197f20a..a7e1f3a63 100644
--- a/python-api-src/lib_replay_unit.cpp
+++ b/python-api-src/lib_replay_unit.cpp
@@ -38,6 +38,6 @@ void define_replay_unit(py::module & m)
 		.def_property_readonly("is_carrying_minerals", &ReplayUnit::isCarryingMinerals)
 		.def("__hash__", [](const ReplayUnit & unit) { return std::hash<const sc2::Unit *>{}(unit.getUnitPtr()); })
 		.def(py::self == py::self)
-		.def("__repr__", [](const ReplayUnit & unit) { return "<Unit of type: '" + unit.getTypeName() + "'>"; })
+		.def("__repr__", [](const ReplayUnit & unit) { return "<Unit of type: '" + unit.getTypeName() +" player: " + std::to_string(unit.getPlayer()) +">"; })
 		;
 }
diff --git a/python-api-src/library.cpp b/python-api-src/library.cpp
index 023e554c8..874e065dc 100644
--- a/python-api-src/library.cpp
+++ b/python-api-src/library.cpp
@@ -29,7 +29,9 @@ PYBIND11_MODULE(library, m)
         .def("update", &sc2::Coordinator::Update)
         .def("set_real_time", &sc2::Coordinator::SetRealtime)
 		.def("load_replay_list",&sc2::Coordinator::SetReplayPath, "replay_path"_a)
-		.def("add_replay_observer",&sc2::Coordinator::AddReplayObserver, "replay_observer"_a);
+		.def("add_replay_observer",&sc2::Coordinator::AddReplayObserver, "replay_observer"_a)
+		.def("set_replay_perspective",&sc2::Coordinator::SetReplayPerspective, "perspective"_a)
+		;
 
     py::enum_<sc2::Race>(m, "Race")
         .value("Terran", sc2::Race::Terran)
diff --git a/src/ReplayUnit.cpp b/src/ReplayUnit.cpp
index 5b6298054..91c102d56 100644
--- a/src/ReplayUnit.cpp
+++ b/src/ReplayUnit.cpp
@@ -55,4 +55,9 @@ ReplayUnit ReplayUnit::getTarget() const
 	return this_unit;
 }
 
+int ReplayUnit::getPlayer() const
+{
+	return m_unit->owner;
+}
+
 
diff --git a/src/ReplayUnit.h b/src/ReplayUnit.h
index 171dfc682..542c7870f 100644
--- a/src/ReplayUnit.h
+++ b/src/ReplayUnit.h
@@ -16,5 +16,7 @@ public:
 		std::string getTypeName() const;
 		bool hasTarget() const;
 		ReplayUnit getTarget() const;
+		int getPlayer() const;
+
 
 };
\ No newline at end of file
-- 
GitLab