46 lines
1.1 KiB
GDScript3
46 lines
1.1 KiB
GDScript3
|
extends Node2D
|
||
|
|
||
|
@export var InitialPlayer :PackedScene
|
||
|
@export var InitialMap :PackedScene
|
||
|
|
||
|
@onready var current_scene = $CurrentScene
|
||
|
#@onready var scene_transition = $ScreenTransition/AnimationPlayer
|
||
|
var next_scene = null
|
||
|
|
||
|
var player
|
||
|
var player_location : Vector2 = Vector2(0,0)
|
||
|
var player_direction : float = 1
|
||
|
|
||
|
|
||
|
|
||
|
func transition_to_scene(new_scene: PackedScene, spawn_location:Vector2, spawn_direction:float ):
|
||
|
next_scene = new_scene
|
||
|
player_location = spawn_location
|
||
|
player_direction = spawn_direction
|
||
|
#screen_transition.play('FadeToBlack')
|
||
|
if(current_scene.get_child(0)):
|
||
|
current_scene.get_child(0).queue_free()
|
||
|
current_scene.add_child(next_scene.instantiate())
|
||
|
|
||
|
#region Spawn Player
|
||
|
|
||
|
if (player):
|
||
|
player.teleport(player_location, player_direction)
|
||
|
else:
|
||
|
player = $CurrentScene.find_child("player",true)
|
||
|
if (player):
|
||
|
player.teleport(player_location, player_direction)
|
||
|
else:
|
||
|
if (InitialPlayer):
|
||
|
player = InitialPlayer.instantiate()
|
||
|
player.set_name("player")
|
||
|
add_child(player)
|
||
|
else:
|
||
|
printerr("No Initial player found")
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
|
||
|
func _on_ready():
|
||
|
transition_to_scene(InitialMap,Vector2(0,0),1)
|