diff options
Diffstat (limited to 'scene')
-rw-r--r-- | scene/resources/tile_set.cpp | 12 | ||||
-rw-r--r-- | scene/resources/tile_set.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/scene/resources/tile_set.cpp b/scene/resources/tile_set.cpp index c85b470325..208ba5bb66 100644 --- a/scene/resources/tile_set.cpp +++ b/scene/resources/tile_set.cpp @@ -250,6 +250,17 @@ Array TileSet::_tile_get_shapes(int p_id) const{ return arr; } +Array TileSet::_get_tiles_ids() const{ + + Array arr; + + for (Map<int, Data>::Element *E = tile_map.front(); E; E = E->next()) { + arr.push_back(E->key()); + } + + return arr; +} + void TileSet::get_tile_list(List<int> *p_tiles) const { for(Map<int,Data>::Element *E=tile_map.front();E;E=E->next()) { @@ -322,6 +333,7 @@ void TileSet::_bind_methods() { ObjectTypeDB::bind_method(_MD("clear"),&TileSet::clear); ObjectTypeDB::bind_method(_MD("get_last_unused_tile_id"),&TileSet::get_last_unused_tile_id); ObjectTypeDB::bind_method(_MD("find_tile_by_name","name"),&TileSet::find_tile_by_name); + ObjectTypeDB::bind_method(_MD("get_tiles_ids", "name"), &TileSet::_get_tiles_ids); } diff --git a/scene/resources/tile_set.h b/scene/resources/tile_set.h index 0550962362..ddbb1b59a6 100644 --- a/scene/resources/tile_set.h +++ b/scene/resources/tile_set.h @@ -57,6 +57,7 @@ protected: void _get_property_list( List<PropertyInfo> *p_list) const; void _tile_set_shapes(int p_id,const Array& p_shapes); Array _tile_get_shapes(int p_id) const; + Array _get_tiles_ids() const; static void _bind_methods(); public: |