From bdc0fe543a96bbb85edf90d786ae6af202337c16 Mon Sep 17 00:00:00 2001 From: Branden J Brown Date: Mon, 7 Aug 2023 11:30:48 -0500 Subject: [PATCH] use property rather than getter for hero party --- Assets/Prefabs/Hero.prefab | 2 +- Assets/Scripts/HeroUnit.cs | 15 ++++++--------- Assets/TestsPlaymode/HeroPartyTest.cs | 5 ++--- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/Assets/Prefabs/Hero.prefab b/Assets/Prefabs/Hero.prefab index 7c4b365..9bc0de0 100644 --- a/Assets/Prefabs/Hero.prefab +++ b/Assets/Prefabs/Hero.prefab @@ -50,7 +50,7 @@ MonoBehaviour: level: 0 xp: 0 attrs: {fileID: 0} - party: {fileID: 11400000, guid: c9a46588e6ec04d4d91bb80fdffd7869, type: 2} + _party: {fileID: 11400000, guid: c9a46588e6ec04d4d91bb80fdffd7869, type: 2} --- !u!1 &4632618406133265053 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/HeroUnit.cs b/Assets/Scripts/HeroUnit.cs index 1814441..273a2e3 100644 --- a/Assets/Scripts/HeroUnit.cs +++ b/Assets/Scripts/HeroUnit.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using UnityEngine.Assertions; using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("TestsPlaymode")] @@ -16,21 +17,17 @@ public class HeroUnit : MonoBehaviour [SerializeField] private long level; [SerializeField] private long xp; [SerializeField] private HeroAttributesSO attrs; - [SerializeField] private HeroPartySO party; + [SerializeField] private HeroPartySO _party; + internal HeroPartySO party => _party; private void OnEnable() { - // NOTE(zeph): Party is mandatory. If none is set, we want an exception. - party.Add(this); + Assert.IsNotNull(_party); + _party.Add(this); } private void OnDisable() { - party.Remove(this); - } - - internal HeroPartySO getParty() - { - return party; + _party.Remove(this); } } diff --git a/Assets/TestsPlaymode/HeroPartyTest.cs b/Assets/TestsPlaymode/HeroPartyTest.cs index 77bdd10..05effaa 100644 --- a/Assets/TestsPlaymode/HeroPartyTest.cs +++ b/Assets/TestsPlaymode/HeroPartyTest.cs @@ -14,11 +14,10 @@ public class HeroPartyTest Assert.IsNotNull(prefab); var instance = Object.Instantiate(prefab); var hero = instance.GetComponent(); - var party = hero.getParty(); yield return null; - Assert.AreEqual(1, party.Count); + Assert.AreEqual(1, hero.party.Count); Object.Destroy(instance); yield return null; - Assert.IsEmpty(party.UnitList); + Assert.IsEmpty(hero.party.UnitList); } }