MarisaMagicalStudy/Assets/Scripts/Abilities/AbilityUIHandler.cs
2026-02-23 06:26:50 -08:00

54 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
public class AbilityUIHandler : MonoBehaviour
{
#region Statication
public static AbilityUIHandler instance;
private void Awake()
{
if (instance != null && instance != this)
{
Destroy(gameObject);
return;
}
instance = this;
}
#endregion
[Header("Abilities")]
public List<AbilityUIObject> uiObjects = new();
[SerializeField] private MarisaAbilityHandler playerAbilityHandler;
[Header("Upgrades")]
[SerializeField] private Transform upgradeGrid;
[SerializeField] private StoredAbilityUpgradeUI templateStoredUpgradeUI;
private void Start()
{
uiObjects[0].thisAbility = playerAbilityHandler.mainAttackInstance;
uiObjects[1].thisAbility = playerAbilityHandler.secondaryAttackInstance;
uiObjects[2].thisAbility = playerAbilityHandler.spellAInstance;
uiObjects[3].thisAbility = playerAbilityHandler.spellBInstance;
foreach (AbilityUIObject uiObject in uiObjects)
{
uiObject.UpdateUI();
}
}
public void UpdateInventory()
{
foreach (Transform child in upgradeGrid) //awful but we'll go with it for now
{
Destroy(child.gameObject);
}
foreach (AbilityManager.StoredUpgrade storedUpgrade in AbilityManager.instance.upgradesInventory)
{
StoredAbilityUpgradeUI newUI = Instantiate(templateStoredUpgradeUI, upgradeGrid);
newUI.SetUpgrade(storedUpgrade.upgrade, storedUpgrade.count);
}
}
}