using System.Text; using Microsoft.Extensions.Primitives; using ServerCore; using ServerBase; namespace ServerCommon; /* * Rule * TASK, ACTIVED 1 * QUEST, COMPLETE (questId) 는 무조건 존재해야 한다. * */ public class QuestValidatorForMustHave : QuestScriptValidatorBase { private UInt32 m_quest_id = 0; public QuestValidatorForMustHave(QuestMetaValidateHandler handler, UInt32 questId) : base(handler) { m_quest_id = questId; init(); } public override void init() { StringBuilder str_builder_task = new(); str_builder_task .Append(EQuestEventTargetType.TASK.ToString()) .Append(EQuestEventNameType.ACTIVED.ToString()) .Append("1"); m_handler.addEventChecker(str_builder_task.ToString()); StringBuilder str_builder_quest = new(); str_builder_quest .Append(EQuestFunctionTargetType.QUEST.ToString()) .Append(EQuestFunctionNameType.COMPLETE.ToString()) .Append(m_quest_id.ToString()); m_handler.addFunctionChecker(str_builder_quest.ToString()); } }