//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, October 10, 2017
|
//--------------------------------------------------------
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI {
|
[DisallowMultipleComponent]
|
public class IntensifySmoothSlider:MonoBehaviour {
|
[SerializeField]
|
Slider m_Slider;
|
public Slider slider
|
{
|
get { return m_Slider; }
|
}
|
|
[SerializeField]
|
[Range(0, 10)]
|
float m_Delay = 0.2f;
|
public float delay
|
{
|
get { return m_Delay; }
|
set
|
{
|
m_Delay = Mathf.Clamp(value, 0, 10);
|
}
|
}
|
|
[SerializeField]
|
[Range(0, 1)]
|
float m_Value = 0f;
|
public float value
|
{
|
get
|
{
|
return m_Value;
|
}
|
set
|
{
|
m_Value = Mathf.Clamp01(value);
|
}
|
}
|
[SerializeField] Text m_LvText;
|
int m_Stage = 0;
|
public int stage
|
{
|
get { return m_Stage; }
|
set { m_Stage = value; }
|
}
|
|
private int presentStage;
|
public int CurrentStage { get { return presentStage; } }
|
|
float refSpeed = 0f;
|
|
public void ResetStage()
|
{
|
presentStage = stage;
|
}
|
|
public void ResetValue(float _value)
|
{
|
value = _value;
|
if (slider != null)
|
{
|
slider.value = Mathf.Clamp01(_value);
|
}
|
}
|
|
void OnEnable()
|
{
|
refSpeed = 0f;
|
if (m_LvText != null)
|
{
|
m_LvText.text = string.Format(Language.Get("Z1024"), presentStage);
|
}
|
}
|
|
void LateUpdate()
|
{
|
if (slider == null)
|
{
|
return;
|
}
|
if (presentStage < m_Stage)
|
{
|
slider.value = Mathf.SmoothDamp(slider.value, 1, ref refSpeed, delay / 2);
|
if (slider.value >= 0.999f)
|
{
|
slider.value = 0f;
|
presentStage++;
|
if (m_LvText != null)
|
{
|
SoundPlayer.Instance.PlayUIAudio(13);
|
m_LvText.text= string.Format(Language.Get("Z1024"), presentStage);
|
}
|
}
|
}
|
else
|
{
|
if (Mathf.Abs(slider.value - value) > 0.001f)
|
{
|
slider.value = Mathf.SmoothDamp(slider.value, value, ref refSpeed, delay);
|
}
|
}
|
|
}
|
|
|
}
|
|
}
|