72 lines
1.7 KiB
C#
72 lines
1.7 KiB
C#
|
|
/*
|
|||
|
|
********************************************************************************
|
|||
|
|
*Copyright(C),coolae.net
|
|||
|
|
*Author: canyou
|
|||
|
|
*Version: 2.0
|
|||
|
|
*Date: 2017-01-09
|
|||
|
|
*Description: 进度条动态显示效果,比如一个slider的值是0,当设置成1时,有一个从0增到1的过程
|
|||
|
|
*Others:
|
|||
|
|
*History:
|
|||
|
|
*********************************************************************************
|
|||
|
|
*/
|
|||
|
|
using UnityEngine;
|
|||
|
|
using System.Collections;
|
|||
|
|
using System;
|
|||
|
|
|
|||
|
|
namespace Coolape
|
|||
|
|
{
|
|||
|
|
[RequireComponent (typeof(UISlider))]
|
|||
|
|
public class TweenProgress : UITweener
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
[Range(0f, 1f)] public float from = 1f;
|
|||
|
|
[Range(0f, 1f)] public float to = 1f;
|
|||
|
|
UISlider _slider;
|
|||
|
|
public object finishCallback;
|
|||
|
|
|
|||
|
|
|
|||
|
|
public UISlider slider {
|
|||
|
|
get {
|
|||
|
|
if (_slider == null) {
|
|||
|
|
_slider = gameObject.GetComponent<UISlider> ();
|
|||
|
|
}
|
|||
|
|
return _slider;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public float value
|
|||
|
|
{
|
|||
|
|
set{
|
|||
|
|
slider.value = value;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
return slider.value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
protected override void OnUpdate(float factor, bool isFinished)
|
|||
|
|
{
|
|||
|
|
value = Mathf.Lerp(from, to, factor);
|
|||
|
|
if(isFinished)
|
|||
|
|
{
|
|||
|
|
Utl.doCallback(finishCallback);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void Play(bool forward, object finishCallback)
|
|||
|
|
{
|
|||
|
|
this.finishCallback = finishCallback;
|
|||
|
|
base.Play(forward);
|
|||
|
|
}
|
|||
|
|
public void Play(float from, float to, object finishCallback)
|
|||
|
|
{
|
|||
|
|
this.from = from;
|
|||
|
|
this.to = to;
|
|||
|
|
this.finishCallback = finishCallback;
|
|||
|
|
ResetToBeginning();
|
|||
|
|
Play(true);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|