Skip to content
Snippets Groups Projects
Commit bf2f7d2c authored by GabrielTofvesson's avatar GabrielTofvesson
Browse files

Added search count to building placer (default is 1000: same as it was before)

parent 04e78348
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ void define_building_placer(py::module & m) ...@@ -7,7 +7,7 @@ void define_building_placer(py::module & m)
py::class_<BuildingPlacer>(m, "BuildingPlacer") py::class_<BuildingPlacer>(m, "BuildingPlacer")
.def("can_build_here", &BuildingPlacer::canBuildHere, "x"_a, "y"_a, "unit_type"_a) .def("can_build_here", &BuildingPlacer::canBuildHere, "x"_a, "y"_a, "unit_type"_a)
.def("can_build_here_with_spaces", &BuildingPlacer::canBuildHereWithSpace, "x"_a, "y"_a, "unit_type"_a, "build_distance"_a) .def("can_build_here_with_spaces", &BuildingPlacer::canBuildHereWithSpace, "x"_a, "y"_a, "unit_type"_a, "build_distance"_a)
.def("get_build_location_near", &BuildingPlacer::getBuildLocationNear, "point2di"_a, "unit_type"_a, "build_distance"_a = 2) .def("get_build_location_near", &BuildingPlacer::getBuildLocationNear, "point2di"_a, "unit_type"_a, "build_distance"_a = 2, "search_count"_a = 1000)
.def("reserve_tiles", &BuildingPlacer::reserveTiles, "x"_a, "y"_a, "width"_a, "height"_a) .def("reserve_tiles", &BuildingPlacer::reserveTiles, "x"_a, "y"_a, "width"_a, "height"_a)
.def("free_tiles", &BuildingPlacer::freeTiles, "x"_a, "y"_a, "width"_a, "height"_a); .def("free_tiles", &BuildingPlacer::freeTiles, "x"_a, "y"_a, "width"_a, "height"_a);
} }
\ No newline at end of file
...@@ -95,7 +95,7 @@ bool BuildingPlacer::canBuildHereWithSpace(int bx, int by, const UnitType & type ...@@ -95,7 +95,7 @@ bool BuildingPlacer::canBuildHereWithSpace(int bx, int by, const UnitType & type
return true; return true;
} }
CCTilePosition BuildingPlacer::getBuildLocationNear(const CCTilePosition & p, const UnitType & t, int buildDist) const CCTilePosition BuildingPlacer::getBuildLocationNear(const CCTilePosition & p, const UnitType & t, int buildDist, int search_count) const
{ {
//Timer t; //Timer t;
//t.start(); //t.start();
...@@ -106,7 +106,7 @@ CCTilePosition BuildingPlacer::getBuildLocationNear(const CCTilePosition & p, co ...@@ -106,7 +106,7 @@ CCTilePosition BuildingPlacer::getBuildLocationNear(const CCTilePosition & p, co
//double ms1 = t.getElapsedTimeInMilliSec(); //double ms1 = t.getElapsedTimeInMilliSec();
// iterate through the list until we've found a suitable location // iterate through the list until we've found a suitable location
for (size_t i(0); i < closestToBuilding.size() && i < 1000; ++i) for (size_t i(0); i < closestToBuilding.size() && (i < 0 or i < search_count); ++i)
{ {
auto & pos = closestToBuilding[i]; auto & pos = closestToBuilding[i];
......
...@@ -29,7 +29,7 @@ public: ...@@ -29,7 +29,7 @@ public:
bool canBuildHereWithSpace(int bx, int by, const UnitType & type, int buildDist) const; bool canBuildHereWithSpace(int bx, int by, const UnitType & type, int buildDist) const;
// returns a build location near a building's desired location // returns a build location near a building's desired location
CCTilePosition getBuildLocationNear(const CCTilePosition & p, const UnitType & type, int buildDist) const; CCTilePosition getBuildLocationNear(const CCTilePosition & p, const UnitType & type, int buildDist, int search_count) const;
void drawReservedTiles(); void drawReservedTiles();
......
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