diff options
| author | nokoe <nokoe@mailbox.org> | 2025-06-21 01:52:33 +0200 |
|---|---|---|
| committer | nokoe <nokoe@mailbox.org> | 2025-06-21 01:52:33 +0200 |
| commit | 16f72d038c37a2f5dd60a960f034ee2c3ff53f5b (patch) | |
| tree | 9af64de6fe8b2b47a5e46b87adabde94ccd8b88b /client/map/tiles/floor_mesher.gd | |
| parent | 44ca1fe3780b76c73e03070fc20189607c414860 (diff) | |
| download | hurrycurry-16f72d038c37a2f5dd60a960f034ee2c3ff53f5b.tar hurrycurry-16f72d038c37a2f5dd60a960f034ee2c3ff53f5b.tar.bz2 hurrycurry-16f72d038c37a2f5dd60a960f034ee2c3ff53f5b.tar.zst | |
generalize floor meshing; fixes #278
Diffstat (limited to 'client/map/tiles/floor_mesher.gd')
| -rw-r--r-- | client/map/tiles/floor_mesher.gd | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/client/map/tiles/floor_mesher.gd b/client/map/tiles/floor_mesher.gd index 79521795..029ec934 100644 --- a/client/map/tiles/floor_mesher.gd +++ b/client/map/tiles/floor_mesher.gd @@ -34,7 +34,11 @@ const UV: Array[Vector2] = [ Vector2.DOWN + Vector2.RIGHT, ] -var tiles: Dictionary +var tiles: Dictionary[String, Vector2i] +var mesh_instance: MeshInstance3D + +func _init(mesh: MeshInstance3D) -> void: + mesh_instance = mesh func add_tile(pos: Vector2i): tiles[str(pos)] = pos @@ -42,7 +46,7 @@ func add_tile(pos: Vector2i): func remove_tile(pos: Vector2i): tiles.erase(str(pos)) -func flush() -> ArrayMesh: +func flush() -> void: var tiles_queue = tiles.duplicate() var st := SurfaceTool.new() st.begin(Mesh.PRIMITIVE_TRIANGLES) @@ -118,4 +122,4 @@ func flush() -> ArrayMesh: st.index() st.optimize_indices_for_cache() - return st.commit() + mesh_instance.mesh = st.commit() |