58 lines
1.7 KiB
C#
58 lines
1.7 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 (AbilityUpgrade upgrade in AbilityManager.instance.allUpgrades)
|
|
{
|
|
int upgradeCount = AbilityManager.instance.GetUpgradeCount(upgrade);
|
|
if (upgradeCount > 0)
|
|
{
|
|
StoredAbilityUpgradeUI newUI = Instantiate(templateStoredUpgradeUI, upgradeGrid);
|
|
newUI.SetUpgrade(upgrade, upgradeCount);
|
|
}
|
|
}
|
|
}
|
|
}
|