Files
caliverse_server/GameServer/Contents/QuestUGQ/Log/QuestTaskUpdateBusinessLog.cs
2025-05-01 07:20:41 +09:00

53 lines
1.4 KiB
C#

using Google.Protobuf;
using Google.Protobuf.WellKnownTypes;
using ServerCore;
using ServerBase;
using ServerCommon;
using ServerCommon.BusinessLogDomain;
using MetaAssets;
namespace GameServer;
public class QuestTaskUpdateBusinessLog : ILogInvokerEx
{
QuestTaskUpdateLogInfo m_info;
public QuestTaskUpdateBusinessLog(QuestTaskUpdateHandler questTaskUpdateDataRef)
: base(LogDomainType.QuestMain)
{
ArgumentNullReferenceCheckHelper.throwIfNull(questTaskUpdateDataRef.m_quest, () => $"questTaskUpdateDataRef.m_quest is null !!!");
var quest_attribute = questTaskUpdateDataRef.m_quest.getEntityAttribute<QuestAttribute>();
NullReferenceCheckHelper.throwIfNull(quest_attribute, () => $"quest_attribute is null !!!");
List<ItemBase> delete_items = new();
foreach (var item in questTaskUpdateDataRef.m_deleted_items)
{
delete_items.Add(item as ItemBase);
}
m_info = new QuestTaskUpdateLogInfo(this,
questTaskUpdateDataRef.m_quest_id,
questTaskUpdateDataRef.m_quest_revision,
quest_attribute.CurrentTaskNum,
quest_attribute.ActiveEvents,
questTaskUpdateDataRef.m_rewards,
delete_items
);
}
public override bool hasLog()
{
return true;
}
protected override void fillup(ref BusinessLog.LogBody body)
{
body.append(m_info);
}
}