Files
caliverse_server/GameServer/Contents/Quest/QuestChecker/QuestInstance.cs
2025-05-01 07:20:41 +09:00

36 lines
1.3 KiB
C#

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<Result> postProcess(Player player, QuestTaskUpdateHandler questTaskUpdateHandler)
{
return await QuestNotifyHelper.sendRedisQuestNotifyRequest(player, questTaskUpdateHandler);
}
}
}