platformer-game-test/src/Scripts/SpawnPoint.gd
Sagi Dayan 40e752c86e Tweaks
- trying to get into the game
2020-11-25 15:07:47 -05:00

54 lines
869 B
GDScript

extends Position2D
tool
export var node:PackedScene = null
func _ready() -> void:
if not Engine.editor_hint:
GameState.connect("player_just_died", self,"_on_Player_died")
_spawn()
func _exit_tree() -> void:
if not Engine.editor_hint:
despawn()
func _on_VisibilityNotifier2D_screen_entered() -> void:
respawn()
func reset():
despawn()
respawn()
func despawn():
var current_node = get_node("node")
if current_node != null:
remove_child(current_node)
func respawn():
var current_node = get_node("node")
if current_node == null and node != null:
_spawn()
else:
pass
func _on_Player_died():
print("SPAWN - PLAYER DIED")
$RespawnTimer.start()
func _spawn():
var inst = node.instance()
inst.name = "node"
add_child(inst)
func _on_RespawnTimer_timeout() -> void:
despawn()
if $VisibilityNotifier2D.is_on_screen():
respawn()