diff options
Diffstat (limited to 'client/map/tiles/wall_tile.gd')
-rw-r--r-- | client/map/tiles/wall_tile.gd | 16 |
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) |