Prepping for other scenes.
This commit is contained in:
34
overworld/OverworldScene.gd
Normal file
34
overworld/OverworldScene.gd
Normal file
@@ -0,0 +1,34 @@
|
||||
class_name OverworldScene extends Node
|
||||
|
||||
@export var map:Node3D = null
|
||||
|
||||
func _enter_tree() -> void:
|
||||
OVERWORLD.mapChanged.connect(onMapChanged)
|
||||
|
||||
func _ready() -> void:
|
||||
pass
|
||||
|
||||
func _exit_tree() -> void:
|
||||
OVERWORLD.mapChanged.disconnect(onMapChanged)
|
||||
|
||||
func onMapChanged(newMap:PackedScene, playerDestinationNodeName:String) -> void:
|
||||
print("New map time.", newMap)
|
||||
for childScene in map.get_children():
|
||||
map.remove_child(childScene)
|
||||
|
||||
if !newMap:
|
||||
return
|
||||
|
||||
var newMapInstance = newMap.instantiate()
|
||||
map.add_child(newMapInstance)
|
||||
|
||||
# Find Player.
|
||||
# if playerDestinationNodeName:
|
||||
# var player = newMapInstance.get_node("Player")
|
||||
# var destNode = newMapInstance.get_node(playerDestinationNodeName)
|
||||
# if player && player is Player && destNode:
|
||||
# player.global_position = destNode.global_position
|
||||
# player.global_rotation.y = destNode.global_rotation.y
|
||||
# elif playerDestinationNodeName:
|
||||
# push_error("Player, or destination node not found in new map.")
|
||||
# pass
|
||||
1
overworld/OverworldScene.gd.uid
Normal file
1
overworld/OverworldScene.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dpvccegdmn7s6
|
||||
9
overworld/OverworldScene.tscn
Normal file
9
overworld/OverworldScene.tscn
Normal file
@@ -0,0 +1,9 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://c0k1t3tyiaojl"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dpvccegdmn7s6" path="res://overworld/OverworldScene.gd" id="1_fa54r"]
|
||||
|
||||
[node name="OverworldScene" type="Node3D" node_paths=PackedStringArray("map")]
|
||||
script = ExtResource("1_fa54r")
|
||||
map = NodePath("Map")
|
||||
|
||||
[node name="Map" type="Node3D" parent="."]
|
||||
@@ -30,4 +30,4 @@ func _onAreaEntered(area:Area3D) -> void:
|
||||
interactableAreas.append(area)
|
||||
|
||||
func _onAreaExited(area:Area3D) -> void:
|
||||
interactableAreas.erase(area)
|
||||
interactableAreas.erase(area)
|
||||
|
||||
Reference in New Issue
Block a user