45 lines
1.0 KiB
GDScript
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
|