50 lines
1.2 KiB
C#
50 lines
1.2 KiB
C#
using UnityEngine;
|
|
using UnityGameFramework.Runtime;
|
|
|
|
namespace SepCore.Entity
|
|
{
|
|
/// <summary>
|
|
/// 特效类。
|
|
/// </summary>
|
|
public class Effect : EntityBase
|
|
{
|
|
[SerializeField]
|
|
private EffectData m_EffectData = null;
|
|
|
|
private float m_ElapseSeconds = 0f;
|
|
|
|
#if UNITY_2017_3_OR_NEWER
|
|
protected override void OnShow(object userData)
|
|
#else
|
|
protected internal override void OnShow(object userData)
|
|
#endif
|
|
{
|
|
base.OnShow(userData);
|
|
|
|
m_EffectData = userData as EffectData;
|
|
if (m_EffectData == null)
|
|
{
|
|
Log.Error("Effect data is invalid.");
|
|
return;
|
|
}
|
|
|
|
m_ElapseSeconds = 0f;
|
|
}
|
|
|
|
#if UNITY_2017_3_OR_NEWER
|
|
protected override void OnUpdate(float elapseSeconds, float realElapseSeconds)
|
|
#else
|
|
protected internal override void OnUpdate(float elapseSeconds, float realElapseSeconds)
|
|
#endif
|
|
{
|
|
base.OnUpdate(elapseSeconds, realElapseSeconds);
|
|
|
|
m_ElapseSeconds += elapseSeconds;
|
|
if (m_ElapseSeconds >= m_EffectData.KeepTime)
|
|
{
|
|
GameEntry.Entity.HideEntity(this);
|
|
}
|
|
}
|
|
}
|
|
}
|