started working on room transition but its very janky, might just make it a basic resest?

This commit is contained in:
Clevertop 2024-08-10 23:10:36 +10:00
parent 52426368b1
commit 6c0bc9fbd6
6 changed files with 101 additions and 4 deletions

View file

@ -11,10 +11,17 @@ var room_started : bool = false
var current_tick = 0
@export var pedestal_off_mat : Material
@export var pedestal_on_mat : Material
var room_failed = false
var fail_timer = 3
var room_ready = false
var ready_timer = 1.5
@export var player : CharacterBody3D
@export_group("Node References")
@export var gui : Control
@export var pedestals : Array[Pedestal]
@export var chime_player : AudioStreamPlayer
@export var world_env : WorldEnvironment
# Called when the node enters the scene tree for the first time.
func _ready():
@ -28,10 +35,15 @@ func _process(delta):
if Input.is_action_just_pressed("debug_start"):
start_room()
if room_started and current_tick < level_time:
if Input.is_action_just_pressed("reset"):
fail_room()
if room_started and current_tick < level_time+1:
tick_timer += delta
if tick_timer > level_tick:
if current_tick == 11:
fail_room()
tick_timer = 0
current_tick += 1
print("Tick: " + str(current_tick))
@ -42,7 +54,32 @@ func _process(delta):
if activated_pedestal.has_command:
print("broadcasting: " + activated_pedestal.placed_command.command_name)
broadcast.emit(activated_pedestal.placed_command.command_name)
chime_player.volume_db = 0
chime_player.pitch_scale = 1
chime_player.play()
else:
chime_player.volume_db = -10
chime_player.pitch_scale = 0.5
chime_player.play()
world_env.environment.fog_enabled = room_failed #this whole section is cooked
if room_failed:
fail_timer -= delta
var effect_number = 3-fail_timer
world_env.environment.fog_density = clampf(pow(effect_number,2),0,10)
world_env.environment.fog_sky_affect = clampf(effect_number/1,0,1)
if fail_timer < 0:
room_failed = false
reset_room()
if not room_ready:
ready_timer -= delta
var effect_number = ready_timer
world_env.environment.fog_density = clampf(pow(effect_number,2),0,10)
world_env.environment.fog_sky_affect = clampf(effect_number/1,0,1)
if ready_timer < 0:
room_ready = true
player.process_mode = Node.PROCESS_MODE_INHERIT
pass
@ -57,7 +94,25 @@ func start_room():
#hide crosshair
pass
func fail_room():
print("ROOM FAILED")
room_failed = true
player.process_mode = Node.PROCESS_MODE_DISABLED
# close exit, freeze player?
pass
func reset_room():
print("RESETTING ROOM")
room_started = false
room_failed = false
fail_timer = 3
room_ready = false
ready_timer = 1.5
tick_timer = 0
current_tick = 0
for i in pedestals.size():
var activated_pedestal = pedestals[i]
activated_pedestal.mesh.mesh.material = pedestal_off_mat
# run if timer expires, resets puzzle
# replace door
# put player back in start room