From 5581a717270e9e2e4876a1bdba52942f1ce07160 Mon Sep 17 00:00:00 2001 From: Nick Date: Tue, 27 Dec 2022 20:54:54 -0500 Subject: [PATCH] Set dialogue for TravelerControllers --- NewHorizons/Builder/Props/DialogueBuilder.cs | 21 ++++++++++++++++++++ NewHorizons/Builder/Props/SignalBuilder.cs | 5 +---- NewHorizons/External/Modules/PropModule.cs | 2 +- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/NewHorizons/Builder/Props/DialogueBuilder.cs b/NewHorizons/Builder/Props/DialogueBuilder.cs index d4b5c844..66f91ce6 100644 --- a/NewHorizons/Builder/Props/DialogueBuilder.cs +++ b/NewHorizons/Builder/Props/DialogueBuilder.cs @@ -160,14 +160,35 @@ namespace NewHorizons.Builder.Props // At most one of these should ever not be null var nomaiController = character.GetComponent(); var controller = character.GetComponent(); + var traveler = character.GetComponent(); var lookOnlyWhenTalking = info.lookAtRadius <= 0; // To have them look when you start talking if (controller != null) { + if (controller._dialogueTree != null) + { + controller._dialogueTree.OnStartConversation -= controller.OnStartConversation; + controller._dialogueTree.OnEndConversation -= controller.OnEndConversation; + } + controller._dialogueTree = dialogue; controller.lookOnlyWhenTalking = lookOnlyWhenTalking; + controller._dialogueTree.OnStartConversation += controller.OnStartConversation; + controller._dialogueTree.OnEndConversation += controller.OnEndConversation; + } + else if (traveler != null) + { + if (traveler._dialogueSystem != null) + { + traveler._dialogueSystem.OnStartConversation -= traveler.OnStartConversation; + traveler._dialogueSystem.OnEndConversation -= traveler.OnEndConversation; + } + + traveler._dialogueSystem = dialogue; + traveler._dialogueSystem.OnStartConversation += traveler.OnStartConversation; + traveler._dialogueSystem.OnEndConversation += traveler.OnEndConversation; } else if (nomaiController != null) { diff --git a/NewHorizons/Builder/Props/SignalBuilder.cs b/NewHorizons/Builder/Props/SignalBuilder.cs index 3072bb45..27a92187 100644 --- a/NewHorizons/Builder/Props/SignalBuilder.cs +++ b/NewHorizons/Builder/Props/SignalBuilder.cs @@ -1,13 +1,10 @@ -using NewHorizons.OtherMods.AchievementsPlus; -using NewHorizons.Components; using NewHorizons.External.Modules; using NewHorizons.Utility; using OWML.Common; -using System; +using OWML.Utils; using System.Collections.Generic; using UnityEngine; using Logger = NewHorizons.Utility.Logger; -using OWML.Utils; namespace NewHorizons.Builder.Props { diff --git a/NewHorizons/External/Modules/PropModule.cs b/NewHorizons/External/Modules/PropModule.cs index 4e0a3a1e..6dcdcad6 100644 --- a/NewHorizons/External/Modules/PropModule.cs +++ b/NewHorizons/External/Modules/PropModule.cs @@ -421,7 +421,7 @@ namespace NewHorizons.External.Modules /// /// If this dialogue is meant for a character, this is the relative path from the planet to that character's - /// CharacterAnimController or SolanumAnimController. + /// CharacterAnimController, TavelerController, or SolanumAnimController. /// public string pathToAnimController;