using TMPro;
using UnityEngine;
using UnityEngine.UI;
///
/// 游戏UI_技能
///
public partial class GameUI
{
///
/// 是否满能量
///
private bool isFullEnergy;
///
/// 技能名字
///
public TextMeshProUGUI skillName;
///
/// 技能CD
///
public Image skillCD;
///
/// 技能图标
///
public Image skillIcon;
///
/// 速度特效
///
private GameObject fx_speed;
///
/// 设置技能能量
///
public void SetSkillEnergy(float value, float end)
{
isFullEnergy = true;
skillCD.fillAmount = value / end;
if (skillCD.fillAmount >= 1)
{
skillCD.material = YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData, "PicHDR");
}
if (skillCD.fillAmount <= 0)
{
skillCD.material = null;
}
}
///
/// 设置技能对象
///
public void SetSkill()
{
if (isFullEnergy)
{
isFullEnergy = false;
return;
}
skillCD.fillAmount = 0;
skillIcon.sprite = YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData, UserDataManager.Instance.userData.skillId + "Icon");
skillName.text = ConfigManager.Instance.Tables.TbSkillConfig.Get(UserDataManager.Instance.userData.skillId).SkillName;
}
///
/// 速度特效清除
///
public void SpeedFXClear()
{
if (fx_speed != null)
{
CachePoolManager.Instance.Put(fx_speed.gameObject);
}
}
///
/// 生成速度特效
///
public void GenerateSpeedFX()
{
fx_speed = CachePoolManager.Instance.Take(YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData, "fx_speed"));
fx_speed.transform.SetParent(speedFXPoint, false);
fx_speed.transform.localEulerAngles = Vector3.zero;
fx_speed.transform.localPosition = new Vector3(0, -20, -5306);
fx_speed.transform.localScale = new Vector3(373, 466, 3116);
DelayedProcessingManager.Instance.DelayDoSecond(this, UserDataManager.Instance.GetAlreadyHaveTimeOfDuration(UserDataManager.Instance.userData.skillId), () =>
{
if (fx_speed != null)
{
CachePoolManager.Instance.Put(fx_speed.gameObject);
}
});
}
}