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