miduo_client/Assets/Scripts/UI/SliderCtrl.cs

55 lines
1.4 KiB
C#
Raw Normal View History

2020-05-09 13:31:21 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using GameCore;
namespace GameLogic
{
public class SliderCtrl : MonoBehaviour
{
[SerializeField] Slider slider;
2020-08-22 15:31:14 +08:00
[SerializeField] Text progress;
2020-05-09 13:31:21 +08:00
float cur;
/// <summary>
/// 更新slider
/// </summary>
/// <param name="cur">Current.</param>
/// <param name="max">Max.</param>
public void UpdateValue(int cur, int max)
{
this.cur = 1f * cur / max;
}
/// <summary>
/// 更新slider
/// </summary>
/// <param name="value">Value.</param>
public void UpdateValue(float value)
{
this.cur = value;
}
/// <summary>
/// 强制设置slider
/// </summary>
/// <param name="value">Value.</param>
public void SetValue(float value)
{
this.cur = value;
this.slider.value = value;
2020-08-22 15:31:14 +08:00
this.progress.text= Mathf.Floor(value*100) + "%";
2020-05-09 13:31:21 +08:00
}
void Update()
{
if (Mathf.Abs(slider.value - cur) < 0.005)
return;
float fv = Mathf.Lerp(slider.value, cur, Time.deltaTime * 5);
slider.value = fv;
progress.text = Mathf.Floor(fv * 100) + "%";
2020-05-09 13:31:21 +08:00
}
}
}