초기커밋

This commit is contained in:
2025-05-01 07:20:41 +09:00
commit 98bb2e3c5c
2747 changed files with 646947 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
using ServerCommon;
using ServerCore; using ServerBase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GameServer
{
public class QuestAbandonAction : EntityActionBase
{
public QuestAbandonAction(EntityBase owner)
: base(owner)
{
}
public override async Task<Result> onInit()
{
await Task.CompletedTask;
var result = new Result();
return result;
}
public override void onClear()
{
return;
}
public async Task<Result> abandonQuestConditionCheck(UInt32 questId)
{
var result = new Result();
var owner = getOwner() as Player;
ArgumentNullException.ThrowIfNull(owner);
var quest_action = owner.getEntityAction<QuestAction>();
ArgumentNullException.ThrowIfNull(quest_action);
(result, var quest_meta_all_base_info) = await QuestMetaManager.It.getQuestMeta(questId);
if (result.isFail()) return result;
var quest_base_info = quest_meta_all_base_info.m_quest_base_info;
NullReferenceCheckHelper.throwIfNull(quest_base_info, () => $"quest_base_info is null !!!");
if (result.isFail()) return result;
var quest_type = EnumHelper.convertEnumValueStringToEnum(quest_base_info.QuestType, MetaAssets.EQuestType.NORMAL);
result = quest_action.hasQuest(quest_type, questId);
if(result.isFail()) return result;
if (quest_base_info.QuestType.Equals(nameof(MetaAssets.EQuestType.TUTORIAL)))
{
result.setFail(ServerErrorCode.QuestAbandonOnlyNormal, $"Epic Quest cannot abandon Data QuestID : {questId}");
return result;
}
return result;
}
}
}