//------------------------------------------------------------
// 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;
}
}
}