using GameServer; using ServerCommon; namespace GameServer { public class QuestInstance : QuestBase { public QuestInstance(EQuestEventTargetType targetType, EQuestEventNameType eventNameType, int landId, int floorId) : base(targetType, eventNameType, 0, string.Empty, string.Empty, string.Empty) { m_condition_1 = landId.ToString(); m_condition_2 = floorId.ToString(); } public override bool checkSubValidTaskScript(QuestAttribute questAttribute, QuestEventInfo events) { switch (m_name_type) { case EQuestEventNameType.ENTERED: if (events.EventCondition1.Equals(m_condition_1) && events.EventCondition2.Equals(m_condition_2)) return true; break; case EQuestEventNameType.EXITED: if (events.EventCondition2.Equals(m_condition_2)) return true; break; default: return false; } return false; } public override async Task postProcess(Player player, QuestTaskUpdateHandler questTaskUpdateHandler) { return await QuestNotifyHelper.sendRedisQuestNotifyRequest(player, questTaskUpdateHandler); } } }