using ServerCommon; using ServerCore; using ServerBase; using UGQDatabase.Models; namespace GameServer; public abstract class QuestMetaBase : IQuestMeta { protected readonly UgqStateType m_ugq_state = UgqStateType.Live; protected readonly QuestContentState m_quest_content_state = QuestContentState.Live; public QuestMetaBase() { m_ugq_state = UgqStateType.None; m_quest_content_state = QuestContentState.None; } public QuestMetaBase(UgqStateType ugqState, QuestContentState questContentState) { m_ugq_state = ugqState; m_quest_content_state = questContentState; } public abstract Task<(Result, QuestMetaAllBaseInfo)> getQuestMetaInfo(Player? player, UInt32 questId, UInt32 questRevision); } public class QuestMetaAllBaseInfo { private readonly UgqStateType m_ugq_state = UgqStateType.None; private readonly QuestContentState m_quest_content_state = QuestContentState.None; public QuestBaseInfo? m_quest_base_info { get; set; } = null; public GameQuestDataEntity? m_quest_data_entity { get; set; } = null; public QuestMetaAllBaseInfo(UgqStateType ugqState, QuestContentState questContentState) { m_ugq_state = ugqState; m_quest_content_state = questContentState; } public QuestMetaAllBaseInfo(QuestBaseInfo questBaseInfo) { m_ugq_state = UgqStateType.None; m_quest_content_state = QuestContentState.None; m_quest_base_info = questBaseInfo; m_quest_data_entity = null!; } public QuestMetaAllBaseInfo(UgqStateType ugqState, QuestContentState questContentState, QuestBaseInfo questBaseInfo, GameQuestDataEntity gameQuestData) { m_ugq_state = ugqState; m_quest_content_state = questContentState; m_quest_base_info = questBaseInfo; m_quest_data_entity = gameQuestData; } /* public QuestMetaAllBaseInfo(QuestBaseInfo questBaseInfo, GameQuestDataEntity gameQuestData) { m_ugq_state = UgqStateType.None; m_quest_content_state = QuestContentState.None; m_quest_base_info = questBaseInfo; m_quest_data_entity = gameQuestData; } */ }