RiftMayhem/Assets/Scripts/UI/ClassResourceUIManager.cs
2025-02-21 18:35:51 +00:00

51 lines
1.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ClassResourceUIManager : MonoBehaviour
{
public List<ClassResourceUIElement> uiElements = new List<ClassResourceUIElement>();
[SerializeField] private GameEventListener_RiftPlayer onPlayerSpawned;
ClassResource localClassResource;
RiftPlayer player;
private void Awake()
{
for (int i = 0; i < uiElements.Count; i++)
{
uiElements[i].gameObject.SetActive(false);
}
onPlayerSpawned.Response.AddListener(OnPlayerSpawned);
}
private void OnPlayerSpawned(RiftPlayer riftPlayer)
{
player = riftPlayer;
for (int i = 0; i < uiElements.Count; i++)
{
uiElements[i].gameObject.SetActive(false);
}
localClassResource = riftPlayer.GetComponent<ClassResource>();
if (localClassResource == null) return;
for (int i = 0; i < uiElements.Count; i++)
{
if (uiElements[i].classTag != player.classTag) continue;
uiElements[i].respectiveResource = localClassResource;
localClassResource.onResourceChanged.AddListener(uiElements[i].OnResourceChanged);
uiElements[i].gameObject.SetActive(true);
return;
}
}
}