use property rather than getter for hero party
ci/woodpecker/push/woodpecker Pipeline was successful Details

This commit is contained in:
Branden J Brown 2023-08-07 11:30:48 -05:00
parent 15d8d1837d
commit bdc0fe543a
3 changed files with 9 additions and 13 deletions

View File

@ -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

View File

@ -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);
}
}

View File

@ -14,11 +14,10 @@ public class HeroPartyTest
Assert.IsNotNull(prefab);
var instance = Object.Instantiate(prefab);
var hero = instance.GetComponent<HeroUnit>();
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);
}
}