summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/base/classes.xml9
-rw-r--r--scene/2d/tile_map.cpp5
-rw-r--r--scene/2d/tile_map.h1
3 files changed, 15 insertions, 0 deletions
diff --git a/doc/base/classes.xml b/doc/base/classes.xml
index 13bc5a91e6..98fc4dd085 100644
--- a/doc/base/classes.xml
+++ b/doc/base/classes.xml
@@ -36301,6 +36301,15 @@ This method controls whether the position between two cached points is interpola
Return the tile index of the referenced cell.
</description>
</method>
+ <method name="get_cellv" qualifiers="const">
+ <return type="int">
+ </return>
+ <argument index="0" name="pos" type="Vector2">
+ </argument>
+ <description>
+ Return the tile index of the cell referenced by a Vector2.
+ </description>
+ </method>
<method name="is_cell_x_flipped" qualifiers="const">
<return type="bool">
</return>
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp
index 179d1f451a..5c298e96f6 100644
--- a/scene/2d/tile_map.cpp
+++ b/scene/2d/tile_map.cpp
@@ -694,6 +694,10 @@ void TileMap::set_cell(int p_x,int p_y,int p_tile,bool p_flip_x,bool p_flip_y,bo
}
+int TileMap::get_cellv(const Vector2& p_pos) const {
+ return get_cell(p_pos.x,p_pos.y);
+}
+
int TileMap::get_cell(int p_x,int p_y) const {
PosKey pk(p_x,p_y);
@@ -1198,6 +1202,7 @@ void TileMap::_bind_methods() {
ObjectTypeDB::bind_method(_MD("set_cell","x","y","tile","flip_x","flip_y","transpose"),&TileMap::set_cell,DEFVAL(false),DEFVAL(false),DEFVAL(false));
ObjectTypeDB::bind_method(_MD("set_cellv","pos","tile","flip_x","flip_y","transpose"),&TileMap::set_cellv,DEFVAL(false),DEFVAL(false),DEFVAL(false));
ObjectTypeDB::bind_method(_MD("get_cell","x","y"),&TileMap::get_cell);
+ ObjectTypeDB::bind_method(_MD("get_cellv","pos"),&TileMap::get_cellv);
ObjectTypeDB::bind_method(_MD("is_cell_x_flipped","x","y"),&TileMap::is_cell_x_flipped);
ObjectTypeDB::bind_method(_MD("is_cell_y_flipped","x","y"),&TileMap::is_cell_y_flipped);
diff --git a/scene/2d/tile_map.h b/scene/2d/tile_map.h
index 14cb52b736..cec5ac0a1b 100644
--- a/scene/2d/tile_map.h
+++ b/scene/2d/tile_map.h
@@ -211,6 +211,7 @@ public:
bool is_cell_transposed(int p_x,int p_y) const;
void set_cellv(const Vector2& p_pos,int p_tile,bool p_flip_x=false,bool p_flip_y=false,bool p_transpose=false);
+ int get_cellv(const Vector2& p_pos) const;
Rect2 get_item_rect() const;