Expose autotile_coord parameter in TileMap.set_cellv
(cherry picked from commit 4106f95f30
)
This commit is contained in:
parent
74b1560672
commit
2106c5175a
|
@ -154,10 +154,11 @@
|
||||||
<argument index="2" name="flip_x" type="bool" default="false" />
|
<argument index="2" name="flip_x" type="bool" default="false" />
|
||||||
<argument index="3" name="flip_y" type="bool" default="false" />
|
<argument index="3" name="flip_y" type="bool" default="false" />
|
||||||
<argument index="4" name="transpose" type="bool" default="false" />
|
<argument index="4" name="transpose" type="bool" default="false" />
|
||||||
|
<argument index="5" name="autotile_coord" type="Vector2" default="Vector2( 0, 0 )" />
|
||||||
<description>
|
<description>
|
||||||
Sets the tile index for the cell given by a Vector2.
|
Sets the tile index for the cell given by a Vector2.
|
||||||
An index of [code]-1[/code] clears the cell.
|
An index of [code]-1[/code] clears the cell.
|
||||||
Optionally, the tile can also be flipped or transposed.
|
Optionally, the tile can also be flipped, transposed, or given autotile coordinates. The autotile coordinate refers to the column and row of the subtile.
|
||||||
[b]Note:[/b] Data such as navigation polygons and collision shapes are not immediately updated for performance reasons.
|
[b]Note:[/b] Data such as navigation polygons and collision shapes are not immediately updated for performance reasons.
|
||||||
If you need these to be immediately updated, you can call [method update_dirty_quadrants].
|
If you need these to be immediately updated, you can call [method update_dirty_quadrants].
|
||||||
</description>
|
</description>
|
||||||
|
|
|
@ -848,8 +848,8 @@ void TileMap::_make_quadrant_dirty(Map<PosKey, Quadrant>::Element *Q, bool updat
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TileMap::set_cellv(const Vector2 &p_pos, int p_tile, bool p_flip_x, bool p_flip_y, bool p_transpose) {
|
void TileMap::set_cellv(const Vector2 &p_pos, int p_tile, bool p_flip_x, bool p_flip_y, bool p_transpose, Vector2 p_autotile_coord) {
|
||||||
set_cell(p_pos.x, p_pos.y, p_tile, p_flip_x, p_flip_y, p_transpose);
|
set_cell(p_pos.x, p_pos.y, p_tile, p_flip_x, p_flip_y, p_transpose, p_autotile_coord);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TileMap::_set_celld(const Vector2 &p_pos, const Dictionary &p_data) {
|
void TileMap::_set_celld(const Vector2 &p_pos, const Dictionary &p_data) {
|
||||||
|
@ -1811,7 +1811,7 @@ void TileMap::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("get_occluder_light_mask"), &TileMap::get_occluder_light_mask);
|
ClassDB::bind_method(D_METHOD("get_occluder_light_mask"), &TileMap::get_occluder_light_mask);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("set_cell", "x", "y", "tile", "flip_x", "flip_y", "transpose", "autotile_coord"), &TileMap::set_cell, DEFVAL(false), DEFVAL(false), DEFVAL(false), DEFVAL(Vector2()));
|
ClassDB::bind_method(D_METHOD("set_cell", "x", "y", "tile", "flip_x", "flip_y", "transpose", "autotile_coord"), &TileMap::set_cell, DEFVAL(false), DEFVAL(false), DEFVAL(false), DEFVAL(Vector2()));
|
||||||
ClassDB::bind_method(D_METHOD("set_cellv", "position", "tile", "flip_x", "flip_y", "transpose"), &TileMap::set_cellv, DEFVAL(false), DEFVAL(false), DEFVAL(false));
|
ClassDB::bind_method(D_METHOD("set_cellv", "position", "tile", "flip_x", "flip_y", "transpose", "autotile_coord"), &TileMap::set_cellv, DEFVAL(false), DEFVAL(false), DEFVAL(false), DEFVAL(Vector2()));
|
||||||
ClassDB::bind_method(D_METHOD("_set_celld", "position", "data"), &TileMap::_set_celld);
|
ClassDB::bind_method(D_METHOD("_set_celld", "position", "data"), &TileMap::_set_celld);
|
||||||
ClassDB::bind_method(D_METHOD("get_cell", "x", "y"), &TileMap::get_cell);
|
ClassDB::bind_method(D_METHOD("get_cell", "x", "y"), &TileMap::get_cell);
|
||||||
ClassDB::bind_method(D_METHOD("get_cellv", "position"), &TileMap::get_cellv);
|
ClassDB::bind_method(D_METHOD("get_cellv", "position"), &TileMap::get_cellv);
|
||||||
|
|
|
@ -263,7 +263,7 @@ public:
|
||||||
Vector2 get_cell_autotile_coord(int p_x, int p_y) const;
|
Vector2 get_cell_autotile_coord(int p_x, int p_y) const;
|
||||||
|
|
||||||
void _set_celld(const Vector2 &p_pos, const Dictionary &p_data);
|
void _set_celld(const Vector2 &p_pos, const Dictionary &p_data);
|
||||||
void set_cellv(const Vector2 &p_pos, int p_tile, bool p_flip_x = false, bool p_flip_y = false, bool p_transpose = false);
|
void set_cellv(const Vector2 &p_pos, int p_tile, bool p_flip_x = false, bool p_flip_y = false, bool p_transpose = false, Vector2 p_autotile_coord = Vector2());
|
||||||
int get_cellv(const Vector2 &p_pos) const;
|
int get_cellv(const Vector2 &p_pos) const;
|
||||||
|
|
||||||
void make_bitmask_area_dirty(const Vector2 &p_pos);
|
void make_bitmask_area_dirty(const Vector2 &p_pos);
|
||||||
|
|
Loading…
Reference in New Issue