add props
This commit is contained in:
@@ -1,3 +1,27 @@
|
||||
class_name InteractableArea extends Area3D
|
||||
|
||||
signal interactEvent(playerEntity:Player)
|
||||
signal interactEvent(playerEntity:Player)
|
||||
signal interactable(playerEntity:Player)
|
||||
signal notInteractable(playerEntity:Player)
|
||||
|
||||
func _enter_tree() -> void:
|
||||
area_entered.connect(onAreaEntered)
|
||||
area_exited.connect(onAreaExited)
|
||||
|
||||
func _exit_tree() -> void:
|
||||
area_entered.disconnect(onAreaEntered)
|
||||
area_exited.disconnect(onAreaExited)
|
||||
|
||||
func onAreaEntered(area:Area3D) -> void:
|
||||
if !area.get_parent() or !(area.get_parent() is Player):
|
||||
return
|
||||
|
||||
var player:Player = area.get_parent() as Player
|
||||
interactable.emit(player)
|
||||
|
||||
func onAreaExited(area:Area3D) -> void:
|
||||
if !area.get_parent() or !(area.get_parent() is Player):
|
||||
return
|
||||
|
||||
var player:Player = area.get_parent() as Player
|
||||
notInteractable.emit(player)
|
||||
|
43
scripts/MapChangeInteract.gd
Normal file
43
scripts/MapChangeInteract.gd
Normal file
@@ -0,0 +1,43 @@
|
||||
class_name MapChangeInteract extends Node3D
|
||||
|
||||
var interactableArea:InteractableArea
|
||||
var shapeChild:CollisionShape3D
|
||||
|
||||
func _enter_tree() -> void:
|
||||
interactableArea = $InteractableArea
|
||||
|
||||
# Needs to be exactly one child.
|
||||
if get_child_count() != 2:
|
||||
push_error("MapChangeInteract must have exactly one child InteractableArea node.")
|
||||
return
|
||||
|
||||
var child = get_child(1)
|
||||
if not (child is CollisionShape3D):
|
||||
push_error("MapChangeInteract's child must be an CollisionShape3D node.")
|
||||
|
||||
shapeChild = child
|
||||
remove_child(shapeChild)
|
||||
interactableArea.add_child(shapeChild)
|
||||
|
||||
interactableArea.interactEvent.connect(onInteract)
|
||||
interactableArea.interactable.connect(onInteractable)
|
||||
interactableArea.notInteractable.connect(onNotInteractable)
|
||||
|
||||
func _exit_tree() -> void:
|
||||
interactableArea.interactEvent.disconnect(onInteract)
|
||||
interactableArea.interactable.disconnect(onInteractable)
|
||||
interactableArea.notInteractable.disconnect(onNotInteractable)
|
||||
|
||||
interactableArea.remove_child(shapeChild)
|
||||
add_child(shapeChild)
|
||||
|
||||
func onInteract(ent:Player) -> void:
|
||||
print("MapChangeInteract: onInteract called")
|
||||
|
||||
func onInteractable(ent:Player) -> void:
|
||||
print("Able to leave map")
|
||||
pass
|
||||
|
||||
func onNotInteractable(ent:Player) -> void:
|
||||
print("Not able to leave map")
|
||||
pass
|
1
scripts/MapChangeInteract.gd.uid
Normal file
1
scripts/MapChangeInteract.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cpqmjomfpyifw
|
10
scripts/OverworldScene.gd
Normal file
10
scripts/OverworldScene.gd
Normal file
@@ -0,0 +1,10 @@
|
||||
class_name OverworldScene extends Node
|
||||
|
||||
func _enter_tree() -> void:
|
||||
OVERWORLD.mapChanged.connect(onMapChanged)
|
||||
|
||||
func _exit_tree() -> void:
|
||||
OVERWORLD.mapChanged.disconnect(onMapChanged)
|
||||
|
||||
func onMapChanged() -> void:
|
||||
pass
|
1
scripts/OverworldScene.gd.uid
Normal file
1
scripts/OverworldScene.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dpvccegdmn7s6
|
7
scripts/map/Map.gd
Normal file
7
scripts/map/Map.gd
Normal file
@@ -0,0 +1,7 @@
|
||||
class_name Map extends Node
|
||||
|
||||
enum MapKey {
|
||||
TEST_MAP
|
||||
}
|
||||
|
||||
@export var mapKey:MapKey
|
1
scripts/map/Map.gd.uid
Normal file
1
scripts/map/Map.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://3uibvxplc48
|
19
scripts/singletons/Overworld.gd
Normal file
19
scripts/singletons/Overworld.gd
Normal file
@@ -0,0 +1,19 @@
|
||||
class_name OverworldSingleton extends Node
|
||||
|
||||
signal mapChanged
|
||||
|
||||
func _init() -> void:
|
||||
pass
|
||||
|
||||
func _exit_tree() -> void:
|
||||
TRANSITION.fadeOutEnd.disconnect(onFadeOutEnd)
|
||||
|
||||
func mapChange(map:Map.MapKey) -> void:
|
||||
TRANSITION.fade(TransitionSingleton.FadeType.FADE_OUT)
|
||||
TRANSITION.fadeOutEnd.connect(onFadeOutEnd)
|
||||
print("OverworldSingleton: mapChange called with map:", map)
|
||||
|
||||
func onFadeOutEnd() -> void:
|
||||
TRANSITION.fadtOutEnd.disconnect(onFadeOutEnd)
|
||||
TRANSITION.fade(TransitionSingleton.FadeType.FADE_IN)
|
||||
mapChanged.emit()
|
1
scripts/singletons/Overworld.gd.uid
Normal file
1
scripts/singletons/Overworld.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dqtt405nifbhq
|
@@ -23,4 +23,7 @@ func isMovementPaused() -> bool:
|
||||
|
||||
|
||||
func menuPause() -> void:
|
||||
UI.PAUSE.open()
|
||||
if UI.PAUSE.isOpen():
|
||||
UI.PAUSE.close()
|
||||
else:
|
||||
UI.PAUSE.open()
|
1
scripts/singletons/Quest.gd
Normal file
1
scripts/singletons/Quest.gd
Normal file
@@ -0,0 +1 @@
|
||||
class_name QuestSingleton extends Node
|
1
scripts/singletons/Quest.gd.uid
Normal file
1
scripts/singletons/Quest.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cd4lf5sm2aquv
|
@@ -1,4 +1,18 @@
|
||||
class_name PauseMain extends VBoxContainer
|
||||
|
||||
func _ready() -> void:
|
||||
visible = true
|
||||
visible = false
|
||||
$HBoxContainer/ItemList.item_selected.connect(onItemSelected)
|
||||
|
||||
func open():
|
||||
visible = true
|
||||
$HBoxContainer/ItemList.clear()
|
||||
|
||||
func close():
|
||||
visible = false
|
||||
|
||||
func isOpen() -> bool:
|
||||
return visible
|
||||
|
||||
func onItemSelected(index:int) -> void:
|
||||
print("Selected item index: ", index)
|
@@ -1,17 +1,19 @@
|
||||
class_name PauseMenu extends Control
|
||||
|
||||
@export var MAIN:PauseMain
|
||||
@export var OPTIONS:PauseOptions
|
||||
|
||||
func _ready() -> void:
|
||||
hide()
|
||||
close()
|
||||
|
||||
func isOpen() -> bool:
|
||||
return visible
|
||||
|
||||
func open() -> void:
|
||||
visible = true
|
||||
MAIN.visible = true
|
||||
MAIN.open()
|
||||
|
||||
func close() -> void:
|
||||
visible = false
|
||||
MAIN.visible = false
|
||||
MAIN.close()
|
||||
OPTIONS.close()
|
10
scripts/ui/pause/PauseOptions.gd
Normal file
10
scripts/ui/pause/PauseOptions.gd
Normal file
@@ -0,0 +1,10 @@
|
||||
class_name PauseOptions extends Control
|
||||
|
||||
func open() -> void:
|
||||
visible = true
|
||||
|
||||
func close() -> void:
|
||||
visible = false
|
||||
|
||||
func isOpen() -> bool:
|
||||
return visible
|
1
scripts/ui/pause/PauseOptions.gd.uid
Normal file
1
scripts/ui/pause/PauseOptions.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dno7duijupjj6
|
Reference in New Issue
Block a user