level resetting works
This commit is contained in:
parent
a1f4eaa2c6
commit
d2dfb65d59
4 changed files with 40 additions and 59 deletions
|
|
@ -11,6 +11,8 @@ signal broadcast(command : String)
|
|||
var tick_timer : float = 0
|
||||
var room_started : bool = false
|
||||
var current_tick = 0
|
||||
var failed : bool = false
|
||||
var fail_timer : float = 3
|
||||
|
||||
@export_group("Resources")
|
||||
@export var pedestal_off_mat : Material
|
||||
|
|
@ -18,13 +20,18 @@ var current_tick = 0
|
|||
|
||||
@export_group("Node References")
|
||||
@export var gui : Control
|
||||
@export var pedestals : Array[Pedestal]
|
||||
var pedestals : Array[Pedestal]
|
||||
@export var pedstalContainer : Node3D
|
||||
@export var chime_player : AudioStreamPlayer
|
||||
@export var world_env : WorldEnvironment
|
||||
@export var player : CharacterBody3D
|
||||
@export var player_spawn : Node3D
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
var temp_pedestals = pedstalContainer.get_children()
|
||||
for temp in temp_pedestals:
|
||||
pedestals.append(temp)
|
||||
for i in pedestals.size():
|
||||
pedestals[i].mesh.mesh = pedestals[i].mesh.mesh.duplicate()
|
||||
pass # Replace with function body.
|
||||
|
|
@ -41,7 +48,7 @@ func _process(delta):
|
|||
if room_started and current_tick < level_time+1:
|
||||
tick_timer += delta
|
||||
|
||||
if tick_timer > level_tick:
|
||||
if tick_timer > level_tick: #advance tick
|
||||
if current_tick == 11:
|
||||
#fail_room()
|
||||
pass
|
||||
|
|
@ -62,6 +69,17 @@ func _process(delta):
|
|||
chime_player.volume_db = -10
|
||||
chime_player.pitch_scale = 0.5
|
||||
chime_player.play()
|
||||
|
||||
if failed:
|
||||
world_env.environment.background_color = Color.DIM_GRAY
|
||||
fail_timer -= delta
|
||||
if fail_timer < 0:
|
||||
fail_timer = 3
|
||||
reset_room()
|
||||
else:
|
||||
world_env.environment.background_color = Color.WHITE
|
||||
|
||||
|
||||
|
||||
#world_env.environment.fog_enabled = room_failed #this whole section is cooked
|
||||
#if room_failed:
|
||||
|
|
@ -97,17 +115,27 @@ func start_room():
|
|||
|
||||
func fail_room():
|
||||
print("ROOM FAILED")
|
||||
|
||||
room_started = false
|
||||
player.process_mode = Node.PROCESS_MODE_DISABLED
|
||||
failed = true
|
||||
# close exit, freeze player?
|
||||
pass
|
||||
|
||||
func reset_room():
|
||||
print("RESETTING ROOM")
|
||||
room_started = false
|
||||
player.global_position = player_spawn.global_position
|
||||
player.process_mode = Node.PROCESS_MODE_INHERIT
|
||||
player.rotation_degrees = Vector3(0,0,0)
|
||||
player.camera.rotation_degrees = Vector3(0,0,0)
|
||||
|
||||
tick_timer = 0
|
||||
|
||||
tick_timer = 0
|
||||
room_started = false
|
||||
current_tick = 0
|
||||
failed = false
|
||||
fail_timer = 3
|
||||
|
||||
#reset pedestals
|
||||
for i in pedestals.size():
|
||||
var activated_pedestal = pedestals[i]
|
||||
activated_pedestal.mesh.mesh.material = pedestal_off_mat
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue