57 lines
1.4 KiB
C#
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;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|