все сводится к тому, что если напрямую объявить в этом же скрипте слайдер и задавать напрямую
slider.value = currentTime, то все ок, а если объявить экземпляр класса скрипта для управления слайдером и менять через функцию:
healthbar.SetEstTime(currentTime);
public void SetEstTime(float estTime)
{
slider.value = estTime;
}
то не работает (
public class Bar : MonoBehaviour, IBar
{
[SerializeField] private Slider bar;
public float MaxValue => bar.maxValue;
public float CurrentValue => bar.value;
public void InitBar(float maxValue, float currentValue)
{
bar.maxValue = maxValue;
bar.value = currentValue;
}
public void IncreaseValue(float amount)
{
bar.value += amount;
}
public void DecreaseValue(float amount)
{
bar.value -= amount;
}
public void Clean()
{
bar.value = 0;
}
}
Не знаю, как у тебя не работает, возможно забыл что-то. Если я не ошибаюсь, ты такое хочешь сделать.