project-villain/tiles/base_tile/tile.gd

45 lines
1.0 KiB
GDScript

extends Node3D
var id = null
var type = 2
var is_selected = false
var orange = preload("res://tiles/base_tile/orange.tres")
var gray = preload("res://tiles/base_tile/gray.tres")
var red = preload("res://tiles/base_tile/red.tres")
var blue = preload("res://tiles/base_tile/blue.tres")
var lightblue = preload("res://tiles/base_tile/lightblue.tres")
# tiles are 'buildable area' or not. non-buildable tiles are used as normal, but not chanegd by player
# buildable are tiles need five total faces. If a face doesn't exist, it's assumed to be open space.
func _ready():
if type == 0:
pass
func invalid_this_tile():
pass
func select_this_tile(b):
is_selected = b
if b:
$WallMesh.set_material_override(lightblue)
$FloorMesh.set_material_override(blue)
else:
$WallMesh.set_material_override(gray)
$FloorMesh.set_material_override(null)
func build_this_tile(b):
if b:
type = 1
$WallMesh.visible = false
$FloorMesh.visible = true
else:
type = 0
$WallMesh.visible = true
$FloorMesh.visible = false