OvertakingLegend/Assets/UIFrameWork/Script/GameUI/GameUI_Skill.cs

97 lines
2.6 KiB
C#
Raw Permalink Normal View History

2025-03-24 03:08:22 +00:00
using TMPro;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// <20><>ϷUI_<49><5F><EFBFBD><EFBFBD>
/// </summary>
public partial class GameUI
{
/// <summary>
/// <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
private bool isFullEnergy;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public TextMeshProUGUI skillName;
/// <summary>
/// <20><><EFBFBD><EFBFBD>CD
/// </summary>
public Image skillCD;
/// <summary>
/// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
/// </summary>
public Image skillIcon;
/// <summary>
/// <20>ٶ<EFBFBD><D9B6><EFBFBD>Ч
/// </summary>
private GameObject fx_speed;
/// <summary>
/// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public void SetSkillEnergy(float value, float end)
{
isFullEnergy = true;
skillCD.fillAmount = value / end;
if (skillCD.fillAmount >= 1)
{
skillCD.material = YooAssetManager.Instance.LoadAssetSync<Material>(PackagesName.GameData, "PicHDR");
}
if (skillCD.fillAmount <= 0)
{
skillCD.material = null;
}
}
/// <summary>
/// <20><><EFBFBD>ü<EFBFBD><C3BC>ܶ<EFBFBD><DCB6><EFBFBD>
/// </summary>
public void SetSkill()
{
if (isFullEnergy)
{
isFullEnergy = false;
return;
}
skillCD.fillAmount = 0;
skillIcon.sprite = YooAssetManager.Instance.LoadAssetSync<Sprite>(PackagesName.GameData, UserDataManager.Instance.userData.skillId + "Icon");
skillName.text = ConfigManager.Instance.Tables.TbSkillConfig.Get(UserDataManager.Instance.userData.skillId).SkillName;
}
/// <summary>
/// <20>ٶ<EFBFBD><D9B6><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
/// </summary>
public void SpeedFXClear()
{
if (fx_speed != null)
{
CachePoolManager.Instance.Put(fx_speed.gameObject);
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>Ч
/// </summary>
public void GenerateSpeedFX()
{
fx_speed = CachePoolManager.Instance.Take(YooAssetManager.Instance.LoadAssetSync<GameObject>(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);
}
});
}
}