event for respawning
This commit is contained in:
parent
2fcfaf4f49
commit
7ecae0cc3d
@ -67,6 +67,8 @@ func _ready():
|
||||
area.connect("area_entered", self, "_on_area_entered")
|
||||
area.connect("area_exited", self, "_on_area_exited")
|
||||
|
||||
Daytime.connect("respawn", self, "_on_respawn")
|
||||
|
||||
|
||||
func _physics_process(delta):
|
||||
process_input()
|
||||
@ -192,7 +194,7 @@ func _on_area_entered (area: Area):
|
||||
get_node("AudioStreamPlayer3D").play()
|
||||
|
||||
yield(get_node("AudioStreamPlayer3D"), "finished")
|
||||
_reset_scene() # TODO: call per event -> also raise if Meldewesen is looking at player and pill level reaches treshold!
|
||||
_on_respawn() # TODO: also raise if Meldewesen is looking at player and pill level reaches treshold!
|
||||
elif area.is_in_group("Forbidden"):
|
||||
Logger.info("entering forbidden area!")
|
||||
_illegal_areas += 1
|
||||
@ -204,14 +206,21 @@ func _on_area_exited (area: Area):
|
||||
_illegal_areas -= 1
|
||||
|
||||
|
||||
func _reset_scene ():
|
||||
func _on_respawn ():
|
||||
Logger.info("respawning")
|
||||
|
||||
# fade to black and restart scene
|
||||
_inventory.hide()
|
||||
_animationFadeOut.play("FadeOut")
|
||||
yield(_animationFadeOut, "animation_finished")
|
||||
|
||||
# reset values
|
||||
_animationFadeOut.seek(0, true)
|
||||
Daytime.reset()
|
||||
|
||||
Pills._set_level(Pills.get_max())
|
||||
Daytime._set_time(0)
|
||||
|
||||
get_tree().reload_current_scene()
|
||||
|
||||
|
||||
func Is_in_Illegal_Area ():
|
||||
|
@ -1,15 +1,11 @@
|
||||
extends Node
|
||||
|
||||
const _increase_per_second: float = 30.0 #0.5
|
||||
const _increase_per_second: float = 100.0 #0.5
|
||||
const _max: int = 1440 # 24 hour + 60 mins
|
||||
|
||||
var _time: float setget _set_time, get_time
|
||||
|
||||
|
||||
func reset ():
|
||||
get_tree().reload_current_scene()
|
||||
Pills._set_level(Pills.get_max())
|
||||
_time = 0
|
||||
signal respawn
|
||||
|
||||
|
||||
func _set_time (new_time: float):
|
||||
@ -28,4 +24,5 @@ func _process (delta: float) -> void:
|
||||
# continually increases daytime
|
||||
_set_time(_time + _increase_per_second * delta)
|
||||
if _time >= _max:
|
||||
reset()
|
||||
_time = 0
|
||||
emit_signal("respawn")
|
||||
|
Loading…
x
Reference in New Issue
Block a user