diff options
Diffstat (limited to 'scene/resources/tile_set.h')
-rw-r--r-- | scene/resources/tile_set.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/scene/resources/tile_set.h b/scene/resources/tile_set.h index 0a6d879047..f26ed461c3 100644 --- a/scene/resources/tile_set.h +++ b/scene/resources/tile_set.h @@ -319,7 +319,7 @@ private: Ref<ArrayMesh> tile_lines_mesh; Ref<ArrayMesh> tile_filled_mesh; - bool tile_meshes_dirty = true; + mutable bool tile_meshes_dirty = true; // Physics struct PhysicsLayer { @@ -527,15 +527,17 @@ public: TileMapCell get_random_tile_from_terrains_pattern(int p_terrain_set, TerrainsPattern p_terrain_tile_pattern); // Helpers - Vector<Vector2> get_tile_shape_polygon(); - void draw_tile_shape(CanvasItem *p_canvas_item, Transform2D p_transform, Color p_color, bool p_filled = false, Ref<Texture2D> p_texture = Ref<Texture2D>()); + Vector<Vector2> get_tile_shape_polygon() const; + void draw_tile_shape(CanvasItem *p_canvas_item, Transform2D p_transform, Color p_color, bool p_filled = false, Ref<Texture2D> p_texture = Ref<Texture2D>()) const; // Used by TileMap/TileMapLayer Vector2 map_to_local(const Vector2i &p_pos) const; Vector2i local_to_map(const Vector2 &p_pos) const; bool is_existing_neighbor(TileSet::CellNeighbor p_cell_neighbor) const; Vector2i get_neighbor_cell(const Vector2i &p_coords, TileSet::CellNeighbor p_cell_neighbor) const; - Vector2i map_pattern(const Vector2i &p_position_in_tilemap, const Vector2i &p_coords_in_pattern, Ref<TileMapPattern> p_pattern); + TypedArray<Vector2i> get_surrounding_cells(const Vector2i &p_coords) const; + Vector2i map_pattern(const Vector2i &p_position_in_tilemap, const Vector2i &p_coords_in_pattern, Ref<TileMapPattern> p_pattern) const; + void draw_cells_outline(CanvasItem *p_canvas_item, const RBSet<Vector2i> &p_cells, Color p_color, Transform2D p_transform = Transform2D()) const; Vector<Point2> get_terrain_polygon(int p_terrain_set); Vector<Point2> get_terrain_peering_bit_polygon(int p_terrain_set, TileSet::CellNeighbor p_bit); @@ -545,6 +547,9 @@ public: // Resource management virtual void reset_state() override; + // Helpers. + static Vector2i transform_coords_layout(const Vector2i &p_coords, TileSet::TileOffsetAxis p_offset_axis, TileSet::TileLayout p_from_layout, TileSet::TileLayout p_to_layout); + TileSet(); ~TileSet(); }; |