Files
2026-05-15 20:23:46 +07:00

103 lines
2.4 KiB
C#

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<int> 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();
//}
}
}