112 lines
2.9 KiB
GDScript
112 lines
2.9 KiB
GDScript
extends Node3D
|
|
|
|
|
|
var exits: Array = [false, true, true, false]
|
|
|
|
|
|
func _ready() -> void:
|
|
pass
|
|
#exits = [
|
|
#randi() % 2 == 0,
|
|
#randi() % 2 == 0,
|
|
#randi() % 2 == 0,
|
|
#randi() % 2 == 0,
|
|
#]
|
|
|
|
#update()
|
|
|
|
func update() -> void:
|
|
var i = 0
|
|
exits = [true, false, true, false]
|
|
for exit in exits:
|
|
if not exit:
|
|
i += 1
|
|
continue
|
|
|
|
if i == 0: #n
|
|
$n.position.y = 1
|
|
|
|
var vertices = PackedVector3Array()
|
|
vertices.push_back(Vector3(-5, 0.5, -50))
|
|
vertices.push_back(Vector3(5, 0.5, -50))
|
|
vertices.push_back(Vector3(-5, 0.5, 0))
|
|
vertices.push_back(Vector3(5, 0.5, -50))
|
|
vertices.push_back(Vector3(5, 0.5, 0))
|
|
vertices.push_back(Vector3(-5, 0.5, 0))
|
|
|
|
# Initialize the ArrayMesh.
|
|
var arr_mesh = ArrayMesh.new()
|
|
var arrays = []
|
|
arrays.resize(Mesh.ARRAY_MAX)
|
|
arrays[Mesh.ARRAY_VERTEX] = vertices
|
|
# Create the Mesh.
|
|
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)
|
|
var m = MeshInstance3D.new()
|
|
m.mesh = arr_mesh
|
|
add_child(m)
|
|
if i == 1: #s
|
|
$s.position.y = 1
|
|
|
|
var vertices = PackedVector3Array()
|
|
vertices.push_back(Vector3(-5, 0.5, 0))
|
|
vertices.push_back(Vector3(5, 0.5, 0))
|
|
vertices.push_back(Vector3(-5, 0.5, 50))
|
|
vertices.push_back(Vector3(5, 0.5, 0))
|
|
vertices.push_back(Vector3(5, 0.5, 50))
|
|
vertices.push_back(Vector3(-5, 0.5, 50))
|
|
|
|
# Initialize the ArrayMesh.
|
|
var arr_mesh = ArrayMesh.new()
|
|
var arrays = []
|
|
arrays.resize(Mesh.ARRAY_MAX)
|
|
arrays[Mesh.ARRAY_VERTEX] = vertices
|
|
# Create the Mesh.
|
|
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)
|
|
var m = MeshInstance3D.new()
|
|
m.mesh = arr_mesh
|
|
add_child(m)
|
|
if i == 2: #w
|
|
$w.position.y = 1
|
|
|
|
var vertices = PackedVector3Array()
|
|
vertices.push_back(Vector3(-50, 0.5, -5))
|
|
vertices.push_back(Vector3(0, 0.5, -5))
|
|
vertices.push_back(Vector3(-50, 0.5, 5))
|
|
vertices.push_back(Vector3(0, 0.5, -5))
|
|
vertices.push_back(Vector3(0, 0.5, 5))
|
|
vertices.push_back(Vector3(-50, 0.5, 5))
|
|
|
|
# Initialize the ArrayMesh.
|
|
var arr_mesh = ArrayMesh.new()
|
|
var arrays = []
|
|
arrays.resize(Mesh.ARRAY_MAX)
|
|
arrays[Mesh.ARRAY_VERTEX] = vertices
|
|
# Create the Mesh.
|
|
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)
|
|
var m = MeshInstance3D.new()
|
|
m.mesh = arr_mesh
|
|
add_child(m)
|
|
if i == 3: #e
|
|
$e.position.y = 1
|
|
|
|
var vertices = PackedVector3Array()
|
|
vertices.push_back(Vector3(0, 0.5, -5))
|
|
vertices.push_back(Vector3(50, 0.5, -5))
|
|
vertices.push_back(Vector3(0, 0.5, 5))
|
|
vertices.push_back(Vector3(50, 0.5, -5))
|
|
vertices.push_back(Vector3(50, 0.5, 5))
|
|
vertices.push_back(Vector3(0, 0.5, 5))
|
|
|
|
# Initialize the ArrayMesh.
|
|
var arr_mesh = ArrayMesh.new()
|
|
var arrays = []
|
|
arrays.resize(Mesh.ARRAY_MAX)
|
|
arrays[Mesh.ARRAY_VERTEX] = vertices
|
|
# Create the Mesh.
|
|
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)
|
|
var m = MeshInstance3D.new()
|
|
m.mesh = arr_mesh
|
|
add_child(m)
|
|
|
|
i += 1
|