com.alicizax.unity/Runtime/Base/Variable/GenericVariable.cs

83 lines
1.7 KiB
C#
Raw Normal View History

2025-02-07 16:04:12 +08:00
using System;
2025-03-24 13:16:51 +08:00
namespace AlicizaX
2025-02-07 16:04:12 +08:00
{
/// <summary>
/// 变量。
/// </summary>
/// <typeparam name="T">变量类型。</typeparam>
public abstract class Variable<T> : Variable
{
private T m_Value;
/// <summary>
/// 初始化变量的新实例。
/// </summary>
public Variable()
{
m_Value = default(T);
}
/// <summary>
/// 获取变量类型。
/// </summary>
public override Type Type
{
get
{
return typeof(T);
}
}
/// <summary>
/// 获取或设置变量值。
/// </summary>
public T Value
{
get
{
return m_Value;
}
set
{
m_Value = value;
}
}
/// <summary>
/// 获取变量值。
/// </summary>
/// <returns>变量值。</returns>
public override object GetValue()
{
return m_Value;
}
/// <summary>
/// 设置变量值。
/// </summary>
/// <param name="value">变量值。</param>
public override void SetValue(object value)
{
m_Value = (T)value;
}
/// <summary>
/// 清理变量值。
/// </summary>
public override void Clear()
{
m_Value = default(T);
}
/// <summary>
/// 获取变量字符串。
/// </summary>
/// <returns>变量字符串。</returns>
public override string ToString()
{
return (m_Value != null) ? m_Value.ToString() : "<Null>";
}
}
}