using System.Runtime.CompilerServices; using RuntimeSet; using UnityEngine; using UnityEngine.Assertions; [assembly: InternalsVisibleTo("TestsPlaymode")] /// /// Component that makes a duder a duder. /// Manages class, skills, level, attrs, and AI. /// public class HeroUnit : MonoBehaviour { [SerializeField] private new string name; [SerializeField] private HeroClassSO class_; [SerializeField] private long level; [SerializeField] private long xp; [SerializeField] private HeroAttributesSO attrs; [SerializeField] private HeroUnitRuntimeSetSO _party; internal HeroUnitRuntimeSetSO party => _party; private void OnEnable() { Assert.IsNotNull(_party); _party.Add(this); } private void OnDisable() { _party.Remove(this); } }