RiftMayhem/Assets/Scripts/UI/ClassResourceUIManager.cs

57 lines
1.4 KiB
C#

using Photon.Pun;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ClassResourceUIManager : MonoBehaviour
{
public List<ClassResourceUIElement> uiElements = new List<ClassResourceUIElement>();
[SerializeField] private GameEventListener_PhotonView 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(PhotonView photonView)
{
if (!photonView.Owner.IsLocal) return;
for (int i = 0; i < uiElements.Count; i++)
{
uiElements[i].gameObject.SetActive(false);
}
player = photonView.GetComponent<RiftPlayer>();
localClassResource = photonView.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;
}
}
}