//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 loyalsoft. All rights reserved.
// Homepage: http://www.game7000.com/
// Feedback: http://www.game7000.com/
//------------------------------------------------------------
using System.Runtime.InteropServices;
namespace GameFramework
{
///
/// 任务信息。
///
[StructLayout(LayoutKind.Auto)]
public struct TaskInfo
{
private readonly bool m_IsValid;
private readonly int m_SerialId;
private readonly string m_Tag;
private readonly int m_Priority;
private readonly object m_UserData;
private readonly TaskStatus m_Status;
private readonly string m_Description;
///
/// 初始化任务信息的新实例。
///
/// 任务的序列编号。
/// 任务的标签。
/// 任务的优先级。
/// 任务的用户自定义数据。
/// 任务状态。
/// 任务描述。
public TaskInfo(int serialId, string tag, int priority, object userData, TaskStatus status, string description)
{
m_IsValid = true;
m_SerialId = serialId;
m_Tag = tag;
m_Priority = priority;
m_UserData = userData;
m_Status = status;
m_Description = description;
}
///
/// 获取任务信息是否有效。
///
public bool IsValid
{
get
{
return m_IsValid;
}
}
///
/// 获取任务的序列编号。
///
public int SerialId
{
get
{
if (!m_IsValid)
{
throw new GameFrameworkException("Data is invalid.");
}
return m_SerialId;
}
}
///
/// 获取任务的标签。
///
public string Tag
{
get
{
if (!m_IsValid)
{
throw new GameFrameworkException("Data is invalid.");
}
return m_Tag;
}
}
///
/// 获取任务的优先级。
///
public int Priority
{
get
{
if (!m_IsValid)
{
throw new GameFrameworkException("Data is invalid.");
}
return m_Priority;
}
}
///
/// 获取任务的用户自定义数据。
///
public object UserData
{
get
{
if (!m_IsValid)
{
throw new GameFrameworkException("Data is invalid.");
}
return m_UserData;
}
}
///
/// 获取任务状态。
///
public TaskStatus Status
{
get
{
if (!m_IsValid)
{
throw new GameFrameworkException("Data is invalid.");
}
return m_Status;
}
}
///
/// 获取任务描述。
///
public string Description
{
get
{
if (!m_IsValid)
{
throw new GameFrameworkException("Data is invalid.");
}
return m_Description;
}
}
}
}