1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- //------------------------------------------------------------
- // Game Framework
- // Copyright © 2013-2021 loyalsoft. All rights reserved.
- // Homepage: http://www.game7000.com/
- // Feedback: http://www.game7000.com/
- //------------------------------------------------------------
- using System;
- namespace GameFramework
- {
- /// <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>";
- }
- }
- }
|