using System; using Sirenix.OdinInspector; using UnityEngine.UIElements; using VOID.Generic.Dict; using VOID.Generic.Objects.Abstract.Events; using VOID.Generic.Objects.Unit; namespace VOID.UserInterface.Game.Party { /// /// Manages all visuals inside portrait, including: image, border and healthbar /// public class UnitPortraitUI { [ShowInInspector, ReadOnly] public UnitObject unit { get; private set; } public event Action OnClick; // Visual Elements public VisualElement templateElement { get; private set; } private Button _portrait; private ProgressBar _healthBar; private Label _healthLabel; /// /// Initializes on existing potrait visual element. /// /// Existing template to use for this portrait public void Init(VisualElement unitPortraitTemplate) { // Find all important elements templateElement = unitPortraitTemplate; _portrait = templateElement.Q