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); } }); } }