//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, November 21, 2017 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using TableConfig; namespace Snxxz.UI { public class HeadUpSkillName : HUDBehaviour { [SerializeField] Animation m_Animation; [SerializeField] Text m_SkillName; float recycleTime = 0f; public static void Popup(int _skillId, Vector3 _position, Camera _camera) { var canvas = WindowCenter.Instance.uiRoot.nameCanvas; var skillName = HeadUpSkillNamePool.Require(); if (skillName == null) { return; } var uiPosition = CameraUtility.ConvertToUIPosition(_camera, _position); skillName.transform.SetParent(canvas.transform); skillName.transform.position = uiPosition; skillName.transform.localPosition = skillName.transform.localPosition.SetZ(0); skillName.transform.localScale = Vector3.one; var skillConfig = Config.Instance.Get(_skillId); skillName.PopUp(skillConfig.SkillName); } public void PopUp(string _skillName) { this.gameObject.SetActive(true); if (m_Animation.clip != null) { recycleTime = Time.time + m_Animation.clip.length; } else { recycleTime = Time.time; } m_SkillName.text = _skillName; SyncPosition(true); m_Animation.Play(); } protected override void LateUpdate() { if (Time.time > recycleTime) { HeadUpSkillNamePool.Recycle(this.gameObject); } } } }