|
@@ -886,6 +886,7 @@ void GridMap::_bind_methods() {
|
|
ClassDB::bind_method(D_METHOD("clear"), &GridMap::clear);
|
|
ClassDB::bind_method(D_METHOD("clear"), &GridMap::clear);
|
|
|
|
|
|
ClassDB::bind_method(D_METHOD("get_used_cells"), &GridMap::get_used_cells);
|
|
ClassDB::bind_method(D_METHOD("get_used_cells"), &GridMap::get_used_cells);
|
|
|
|
+ ClassDB::bind_method(D_METHOD("get_used_cells_by_item", "item"), &GridMap::get_used_cells_by_item);
|
|
|
|
|
|
ClassDB::bind_method(D_METHOD("get_meshes"), &GridMap::get_meshes);
|
|
ClassDB::bind_method(D_METHOD("get_meshes"), &GridMap::get_meshes);
|
|
ClassDB::bind_method(D_METHOD("get_bake_meshes"), &GridMap::get_bake_meshes);
|
|
ClassDB::bind_method(D_METHOD("get_bake_meshes"), &GridMap::get_bake_meshes);
|
|
@@ -959,6 +960,18 @@ Array GridMap::get_used_cells() const {
|
|
return a;
|
|
return a;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+Array GridMap::get_used_cells_by_item(int p_item) const {
|
|
|
|
+ Array a;
|
|
|
|
+ for (Map<IndexKey, Cell>::Element *E = cell_map.front(); E; E = E->next()) {
|
|
|
|
+ if (E->value().item == p_item) {
|
|
|
|
+ Vector3 p(E->key().x, E->key().y, E->key().z);
|
|
|
|
+ a.push_back(p);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return a;
|
|
|
|
+}
|
|
|
|
+
|
|
Array GridMap::get_meshes() const {
|
|
Array GridMap::get_meshes() const {
|
|
if (mesh_library.is_null()) {
|
|
if (mesh_library.is_null()) {
|
|
return Array();
|
|
return Array();
|