Skip to content
Snippets Groups Projects
Commit 42a13a56 authored by Rojikku98's avatar Rojikku98
Browse files

Added support for launching a replay from python. The methods onStep and onGameCreated

parent 1fbb9529
No related branches found
No related tags found
1 merge request!6Replays
......@@ -26,7 +26,15 @@ PYBIND11_MODULE(library, m)
.def("launch_starcraft", &sc2::Coordinator::LaunchStarcraft)
.def("start_game", &sc2::Coordinator::StartGame, "map_path"_a)
.def("update", &sc2::Coordinator::Update)
.def("set_real_time", &sc2::Coordinator::SetRealtime);
.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)
;
py::class_<sc2::ReplayObserver, PyReplayObserver>(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::enum_<sc2::Race>(m, "Race")
.value("Terran", sc2::Race::Terran)
......
......@@ -21,7 +21,8 @@ public:
}
Coordinator(std::string path) : sc2::Coordinator()
{
{
std::cout << path << std::endl;
std::vector<std::string> arguments = { "pycommandcenter", "-e", path };
CustomLoadSettings(arguments);
}
......@@ -61,6 +62,29 @@ public:
}
};
class PyReplayObserver : public sc2::ReplayObserver
{
public:
void OnGameStart() override
{
PYBIND11_OVERLOAD_NAME(
void,
sc2::ReplayObserver,
"on_game_start",
OnGameStart
);
}
void OnStep() override
{
PYBIND11_OVERLOAD_NAME(
void,
sc2::ReplayObserver,
"on_step",
OnStep
);
}
};
// The functions below are all defined in different .cpp files, in order
// to keep compilation snappy
void define_typeenums(pybind11::module & m);
......
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