using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnergyUICtl : MonoBehaviour
{
///
/// 用于显示能量条进度
///
public Image energyScaleMask;
///
/// 充能条满后,在场景内播放的特效
///
public GameObject energyEffPrefab;
///
/// 当前的能量条进度.10份进度.
///
protected int currentProgress;
protected Vector3 vec3EffectPlay;
// Start is called before the first frame update
void Start()
{
currentProgress = 0;
//this.SetEnergyProgress(0);
}
///
/// 设置要播放特效的位置信息.
///
///
public void SetEffectPlayPos( Vector3 vec)
{
vec3EffectPlay.x = vec.x;
vec3EffectPlay.y = vec.y;
vec3EffectPlay.z = vec.z;
}
///
/// 获取进度条进度.
///
///
public int GetCtlProgress()
{
return currentProgress;
}
///
/// 设置进度.
///
///
public void SetCtlProcess(int pro)
{
if (pro == 10)
pro = 0;
energyScaleMask.rectTransform.DOKill();
this.SetEnergyProgress(pro,false);
}
///
/// 显示并更新能量条进度.
///
///
public void SetEnergyProgress(int pro,bool ani = true)
{
if (pro == currentProgress) return;
if( ani )
energyScaleMask.rectTransform.DOScaleY( pro / 10.0f, 0.3f );
else
energyScaleMask.rectTransform.DOScaleY(pro / 10.0f, 0.0f);
currentProgress = pro;
}
public void SetEnergyProcessFloat( float fpro)
{
energyScaleMask.rectTransform.DOScaleY(fpro / 10.0f, 0.0f);
currentProgress = (int)Mathf.Floor(fpro);
}
// Update is called once per frame
void Update()
{
}
}