From 699b4b95cf7e6dbcbf362627c36932589f65dba3 Mon Sep 17 00:00:00 2001 From: Zenny Date: Mon, 9 Sep 2024 15:19:18 -0700 Subject: [PATCH] Cancel dialogue when player walks away --- src/npc/Npc.cs | 6 +++++- src/npc/rat/NPC.tscn | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/npc/Npc.cs b/src/npc/Npc.cs index 68f0f640..31fecaca 100644 --- a/src/npc/Npc.cs +++ b/src/npc/Npc.cs @@ -17,6 +17,8 @@ public partial class Npc : Node3D private bool _isInDialogueZone = false; + private Node _dialogueBalloon; + public void OnReady() { DialogueZone.BodyEntered += DialogueZone_BodyEntered; @@ -26,6 +28,8 @@ public partial class Npc : Node3D private void DialogueZone_BodyExited(Node3D body) { _isInDialogueZone = false; + if (_dialogueBalloon != null) + _dialogueBalloon.QueueFree(); } private void DialogueZone_BodyEntered(Node3D body) @@ -36,6 +40,6 @@ public partial class Npc : Node3D public override void _UnhandledInput(InputEvent @event) { if (Input.IsActionJustPressed(GameInputs.Throw) && _isInDialogueZone) - DialogueManager.ShowDialogueBalloonScene(DialogueController.DialogueBalloon, DialogueOptions.First(), "introduction"); + _dialogueBalloon = DialogueManager.ShowDialogueBalloonScene(DialogueController.DialogueBalloon, DialogueOptions.First(), "introduction"); } } diff --git a/src/npc/rat/NPC.tscn b/src/npc/rat/NPC.tscn index f814eb01..f8b521f3 100644 --- a/src/npc/rat/NPC.tscn +++ b/src/npc/rat/NPC.tscn @@ -5,7 +5,7 @@ [ext_resource type="Resource" uid="uid://cf7ycgdiihyh" path="res://src/npc/rat/ratdialogue.dialogue" id="2_uo38w"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_wfhgc"] -radius = 1.5 +radius = 2.5 [node name="NPC" type="Node3D"] script = ExtResource("1_cpdf2")