//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, November 21, 2017
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
|
|
namespace vnxbqy.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 = SkillConfig.Get(_skillId);
|
skillName.PopUp(skillConfig.SkillName);
|
}
|
|
public void PopUp(string _skillName)
|
{
|
this.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);
|
}
|
}
|
}
|
|
}
|
|
|
|