From 1598103a43cffe65aacac66642e17d3a383529e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yolda=C5=9F=20Ula=C5=9F?= Date: Sun, 16 Jul 2023 19:58:26 +0300 Subject: [PATCH] Null check added to TradeSkillPrerequisite In order to solve null reference error null check is added. --- .../Scripts/Quest/TradeSkillPrerequisite.cs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Assets/AnyRPG/Core/System/Scripts/Quest/TradeSkillPrerequisite.cs b/Assets/AnyRPG/Core/System/Scripts/Quest/TradeSkillPrerequisite.cs index a70141b30..70a746e2d 100644 --- a/Assets/AnyRPG/Core/System/Scripts/Quest/TradeSkillPrerequisite.cs +++ b/Assets/AnyRPG/Core/System/Scripts/Quest/TradeSkillPrerequisite.cs @@ -24,17 +24,24 @@ public class TradeSkillPrerequisite : ConfiguredClass, IPrerequisite { public void UpdateStatus(bool notify = true) { bool originalResult = prerequisiteMet; - bool checkResult = playerManager.MyCharacter.CharacterSkillManager.HasSkill(prerequisiteSkill); + bool checkResult = false; + + if (playerManager.MyCharacter != null) { + checkResult = playerManager.MyCharacter.CharacterSkillManager.HasSkill(prerequisiteSkill); + } + if (checkResult != originalResult) { prerequisiteMet = checkResult; - if (notify == true) { + if (notify) { OnStatusUpdated(); } } } public void HandleSkillListChanged(Skill newSkill) { - UpdateStatus(); + if (prerequisiteSkill != null) { + UpdateStatus(); + } } public virtual bool IsMet(BaseCharacter baseCharacter) { @@ -56,7 +63,7 @@ public void SetupScriptableObjects(SystemGameManager systemGameManager, string o if (tmpPrerequisiteSkill != null) { prerequisiteSkill = tmpPrerequisiteSkill; } else { - Debug.LogError("SystemAbilityManager.SetupScriptableObjects(): Could not find skill : " + prerequisiteName + " while inititalizing a prerequisite for " + ownerName + ". CHECK INSPECTOR"); + Debug.LogError("SystemAbilityManager.SetupScriptableObjects(): Could not find skill: " + prerequisiteName + " while initializing a prerequisite for " + ownerName + ". CHECK INSPECTOR"); } } systemEventManager.OnSkillListChanged += HandleSkillListChanged; @@ -66,5 +73,4 @@ public void CleanupScriptableObjects() { systemEventManager.OnSkillListChanged -= HandleSkillListChanged; } } - -} \ No newline at end of file +}