using Kryz.CharacterStats.Examples; using Photon.Pun; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class PlayerLevelTextController : MonoBehaviour { [SerializeField] private TMP_Text level; [SerializeField] private TMP_Text experienceBar; [SerializeField] private Image experienceBarFill; PlayerCharacterStats player; PhotonView photonView; private void Awake() { photonView = GetComponentInParent(); player = GetComponentInParent(); } // Start is called before the first frame update void Start() { player.level.OnLevelUpEvent.AddListener(UpdateLevelText); player.level.OnExperienceChanged.AddListener(UpdateLevelText); UpdateLevelText(); } public void UpdateLevelText() { level.text = player.level.currentLevel.ToString(); experienceBar.text = $"{player.level.GetCurrentExperience().ToString("F1")}/{player.level.FinalExperienceThreshold.ToString("F1")}"; experienceBarFill.fillAmount = player.level.GetCurrentExperience() / player.level.FinalExperienceThreshold; } }