59 lines
1.5 KiB
C#
59 lines
1.5 KiB
C#
//------------------------------------------------------------
|
|
// Game Framework
|
|
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
|
|
// Homepage: https://gameframework.cn/
|
|
// Feedback: mailto:ellan@gameframework.cn
|
|
//------------------------------------------------------------
|
|
|
|
using Entity;
|
|
using Entity.EntityData;
|
|
using UnityEngine;
|
|
using UnityGameFramework.Runtime;
|
|
|
|
namespace 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);
|
|
}
|
|
}
|
|
}
|
|
}
|