2025-05-10 23:14:50 +09:00

58 lines
1.4 KiB
C#

using UnityEngine;
namespace VLB
{
[HelpURL(Consts.Help.UrlEffectFromProfile)]
public class EffectFromProfile : MonoBehaviour
{
public const string ClassName = "EffectFromProfile";
public EffectAbstractBase effectProfile
{
get { return m_EffectProfile; }
set
{
m_EffectProfile = value;
InitInstanceFromProfile();
}
}
public void InitInstanceFromProfile()
{
if (m_EffectInstance)
{
if (m_EffectProfile)
m_EffectInstance.InitFrom(m_EffectProfile);
else
m_EffectInstance.enabled = false;
}
}
void OnEnable()
{
if (m_EffectInstance)
{
m_EffectInstance.enabled = true;
}
else if (m_EffectProfile)
{
m_EffectInstance = (gameObject.AddComponent(m_EffectProfile.GetType()) as EffectAbstractBase);
InitInstanceFromProfile();
}
}
void OnDisable()
{
if (m_EffectInstance)
{
m_EffectInstance.enabled = false;
}
}
[SerializeField]
EffectAbstractBase m_EffectProfile = null;
EffectAbstractBase m_EffectInstance = null;
}
}