aboutsummaryrefslogtreecommitdiff
path: root/client/map/tiles/wall_tile.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/map/tiles/wall_tile.gd')
-rw-r--r--client/map/tiles/wall_tile.gd16
1 files changed, 16 insertions, 0 deletions
diff --git a/client/map/tiles/wall_tile.gd b/client/map/tiles/wall_tile.gd
index 173a9355..390a4bfb 100644
--- a/client/map/tiles/wall_tile.gd
+++ b/client/map/tiles/wall_tile.gd
@@ -16,6 +16,17 @@
class_name WallTile
extends Floor
+static func create_material(color: Color):
+ var mat = StandardMaterial3D.new()
+ mat.albedo_color = color
+ return mat
+
+static var MATERIALS := {
+ "red": create_material(Color(0.777, 0.244, 0.187, 1.0)),
+ "green": create_material(Color(0.18, 0.745, 0.596, 1.0)),
+ "blue": create_material(Color(0.466, 0.519, 0.939, 1.0)),
+}
+
const WALLS: Array = [
"wall",
"wall-window",
@@ -70,5 +81,10 @@ func _init(ctx: TileFactory.TileCC):
kind = WallKind.CROSS
turn_facing(facing)
+func add_dyed_mesh(ctx: TileFactory.TileCC, node: Node3D, node_name = "Mesh", surface = 0):
+ var meshi: MeshInstance3D = node.get_node(node_name)
+ meshi.set_surface_override_material(surface, MATERIALS.get(ctx.tile_name.variant, MATERIALS["green"]))
+ base.add_child(node)
+
func is_wall(tile_name_t) -> bool:
return walls.has(tile_name_t)