Skip to content

Commit

Permalink
Add ability for TileSet to swap tile ids.
Browse files Browse the repository at this point in the history
  • Loading branch information
Adrenesis committed Aug 24, 2020
1 parent 8cd436f commit bea39be
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
7 changes: 7 additions & 0 deletions scene/resources/tile_set.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,12 @@ void TileSet::create_tile(int p_id) {
emit_changed();
}

void TileSet::tile_swap_with_id(int p_id_a, int p_id_b) {
TileData tmp = tile_map[p_id_a];
tile_map[p_id_a] = tile_map[p_id_b];
tile_map[p_id_b] = tmp;
}

void TileSet::autotile_set_bitmask_mode(int p_id, BitmaskMode p_mode) {
ERR_FAIL_COND(!tile_map.has(p_id));
tile_map[p_id].autotile_data.bitmask_mode = p_mode;
Expand Down Expand Up @@ -1155,6 +1161,7 @@ void TileSet::clear() {
void TileSet::_bind_methods() {

ClassDB::bind_method(D_METHOD("create_tile", "id"), &TileSet::create_tile);
ClassDB::bind_method(D_METHOD("tile_swap_with_id", "ida", "idb"), &TileSet::tile_swap_with_id);
ClassDB::bind_method(D_METHOD("autotile_clear_bitmask_map", "id"), &TileSet::autotile_clear_bitmask_map);
ClassDB::bind_method(D_METHOD("autotile_set_icon_coordinate", "id", "coord"), &TileSet::autotile_set_icon_coordinate);
ClassDB::bind_method(D_METHOD("autotile_get_icon_coordinate", "id"), &TileSet::autotile_get_icon_coordinate);
Expand Down
2 changes: 2 additions & 0 deletions scene/resources/tile_set.h
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,8 @@ class TileSet : public Resource {
public:
void create_tile(int p_id);

void tile_swap_with_id(int p_id_a, int p_id_b);

void autotile_set_bitmask_mode(int p_id, BitmaskMode p_mode);
BitmaskMode autotile_get_bitmask_mode(int p_id) const;

Expand Down

0 comments on commit bea39be

Please sign in to comment.