//------------------------------------------------------------ // Game Framework // Copyright © 2013-2021 loyalsoft. All rights reserved. // Homepage: http://www.game7000.com/ // Feedback: http://www.game7000.com/ //------------------------------------------------------------ namespace GameFramework { /// /// 任务基类。 /// internal abstract class TaskBase : IReference { /// /// 任务默认优先级。 /// public const int DefaultPriority = 0; private int m_SerialId; private string m_Tag; private int m_Priority; private object m_UserData; private bool m_Done; /// /// 初始化任务基类的新实例。 /// public TaskBase() { m_SerialId = 0; m_Tag = null; m_Priority = DefaultPriority; m_Done = false; m_UserData = null; } /// /// 获取任务的序列编号。 /// public int SerialId { get { return m_SerialId; } } /// /// 获取任务的标签。 /// public string Tag { get { return m_Tag; } } /// /// 获取任务的优先级。 /// public int Priority { get { return m_Priority; } } /// /// 获取任务的用户自定义数据。 /// public object UserData { get { return m_UserData; } } /// /// 获取或设置任务是否完成。 /// public bool Done { get { return m_Done; } set { m_Done = value; } } /// /// 获取任务描述。 /// public virtual string Description { get { return null; } } /// /// 初始化任务基类。 /// /// 任务的序列编号。 /// 任务的标签。 /// 任务的优先级。 /// 任务的用户自定义数据。 internal void Initialize(int serialId, string tag, int priority, object userData) { m_SerialId = serialId; m_Tag = tag; m_Priority = priority; m_UserData = userData; m_Done = false; } /// /// 清理任务基类。 /// public virtual void Clear() { m_SerialId = 0; m_Tag = null; m_Priority = DefaultPriority; m_UserData = null; m_Done = false; } } }