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_entered", self, "_on_area_entered")
|
||||||
area.connect("area_exited", self, "_on_area_exited")
|
area.connect("area_exited", self, "_on_area_exited")
|
||||||
|
|
||||||
|
Daytime.connect("respawn", self, "_on_respawn")
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
process_input()
|
process_input()
|
||||||
@ -192,7 +194,7 @@ func _on_area_entered (area: Area):
|
|||||||
get_node("AudioStreamPlayer3D").play()
|
get_node("AudioStreamPlayer3D").play()
|
||||||
|
|
||||||
yield(get_node("AudioStreamPlayer3D"), "finished")
|
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"):
|
elif area.is_in_group("Forbidden"):
|
||||||
Logger.info("entering forbidden area!")
|
Logger.info("entering forbidden area!")
|
||||||
_illegal_areas += 1
|
_illegal_areas += 1
|
||||||
@ -204,14 +206,21 @@ func _on_area_exited (area: Area):
|
|||||||
_illegal_areas -= 1
|
_illegal_areas -= 1
|
||||||
|
|
||||||
|
|
||||||
func _reset_scene ():
|
func _on_respawn ():
|
||||||
|
Logger.info("respawning")
|
||||||
|
|
||||||
# fade to black and restart scene
|
# fade to black and restart scene
|
||||||
|
_inventory.hide()
|
||||||
_animationFadeOut.play("FadeOut")
|
_animationFadeOut.play("FadeOut")
|
||||||
yield(_animationFadeOut, "animation_finished")
|
yield(_animationFadeOut, "animation_finished")
|
||||||
|
|
||||||
# reset values
|
# reset values
|
||||||
_animationFadeOut.seek(0, true)
|
_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 ():
|
func Is_in_Illegal_Area ():
|
||||||
|
@ -1,15 +1,11 @@
|
|||||||
extends Node
|
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
|
const _max: int = 1440 # 24 hour + 60 mins
|
||||||
|
|
||||||
var _time: float setget _set_time, get_time
|
var _time: float setget _set_time, get_time
|
||||||
|
|
||||||
|
signal respawn
|
||||||
func reset ():
|
|
||||||
get_tree().reload_current_scene()
|
|
||||||
Pills._set_level(Pills.get_max())
|
|
||||||
_time = 0
|
|
||||||
|
|
||||||
|
|
||||||
func _set_time (new_time: float):
|
func _set_time (new_time: float):
|
||||||
@ -28,4 +24,5 @@ func _process (delta: float) -> void:
|
|||||||
# continually increases daytime
|
# continually increases daytime
|
||||||
_set_time(_time + _increase_per_second * delta)
|
_set_time(_time + _increase_per_second * delta)
|
||||||
if _time >= _max:
|
if _time >= _max:
|
||||||
reset()
|
_time = 0
|
||||||
|
emit_signal("respawn")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user