using BrewMonster.Assets.PerfectWorld.Scripts.UI; using BrewMonster.Common; using BrewMonster.Managers; using BrewMonster.Network; using BrewMonster.Scripts; using BrewMonster.Scripts.Managers; using BrewMonster.UI; using CSNetwork.GPDataType; using Cysharp.Threading.Tasks.Triggers; using PerfectWorld.Scripts.Managers; using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; using UnityEngine.UI; namespace BrewMonster { public class SliderController : MonoBehaviour { [Header("Slider")] public Slider slider; public TextMeshProUGUI sliderValueText; //[Header("Action Event")] //private UnityEvent[] levelEvents = new UnityEvent[6]; //private int currentLevel = -1; //Action OnSlideValueChange = null; private void OnEnable() { if(slider != null) { slider.onValueChanged.AddListener(OnSliderValueChange); } } private void OnDisable() { if (slider != null) { slider.onValueChanged.RemoveListener(OnSliderValueChange); } } public void InitSlide(int curlevel) { slider.value = curlevel; UpdateSliderText(curlevel); } private void OnSliderValueChange(float value) { UpdateLevelFromSlider(); } private void UpdateLevelFromSlider() { if (slider == null) return; int level = GetLevelFromValue(slider.value); UpdateSliderText(level); } private int GetLevelFromValue(float value) { int level = Mathf.RoundToInt(value); return Mathf.Clamp(level, 1, 6); } private void UpdateSliderText(int level) { if (sliderValueText == null) { return; } sliderValueText.text = $"Mức {level}"; } public int GetValueCurrentSlide() { return (int)slider.value; } //public void Invoke(int level) //{ // int index = level - 1; // if(index < 0 || index >= levelEvents.Length) // { // return; // } // levelEvents[index]?.Invoke(); //} } }