NPC bug fixing.

This commit is contained in:
2025-07-01 12:15:25 -05:00
parent 977f17f73b
commit 3e95481282
2 changed files with 10 additions and 10 deletions

View File

@@ -1,5 +1,7 @@
class_name NPC extends CharacterBody3D
const CONVERSATION_FADE_DURATION:float = 0.3
enum InteractType {
NONE,
TEXTBOX,
@@ -43,6 +45,7 @@ func lookAtPlayer() -> void:
func showTexts():
TRANSITION.fadeOutStart.disconnect(showTexts)
TRANSITION.fadeInEnd.disconnect(showTexts)
# Any texts?
if interactTexts.size() == 0:
@@ -59,7 +62,7 @@ func endTexts():
# Do we fade out the camera?
if interactCamera:
TRANSITION.fade(TRANSITION.FadeType.FADE_OUT)
TRANSITION.fade(TRANSITION.FadeType.FADE_OUT, CONVERSATION_FADE_DURATION)
TRANSITION.fadeOutEnd.connect(onFadeOutEnd)
return
@@ -67,6 +70,7 @@ func endTexts():
if previousCamera:
previousCamera.current = true
previousCamera = null
PAUSE.cutsceneResume()
func _enter_tree() -> void:
$InteractableArea.interactEvent.connect(onInteract)
@@ -95,12 +99,13 @@ func onInteract(playerEntity:Player) -> void:
PAUSE.cutscenePause()
# If a camera is set, switch to it, otherwise chat immediately.
if !interactCamera:
if interactCamera == null:
lookAtPlayer()
showTexts()
return
# Fade out.
TRANSITION.fade(TRANSITION.FadeType.FADE_OUT)
TRANSITION.fade(TRANSITION.FadeType.FADE_OUT, CONVERSATION_FADE_DURATION)
TRANSITION.fadeOutEnd.connect(onFadeOutEnd)
InteractType.CUTSCENE:
@@ -123,7 +128,7 @@ func onTextboxClosing() -> void:
func onFadeOutEnd() -> void:
# Begin fade back in.
TRANSITION.fadeOutEnd.disconnect(onFadeOutEnd)
TRANSITION.fade(TRANSITION.FadeType.FADE_IN)
TRANSITION.fade(TRANSITION.FadeType.FADE_IN, CONVERSATION_FADE_DURATION)
TRANSITION.fadeInEnd.connect(onFadeInEnd)
# Is the conversation ending?