93 lines
3.3 KiB
C#
93 lines
3.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
using Nettention.Proud;
|
|
|
|
|
|
using ServerCore; using ServerBase;
|
|
using ServerCommon;
|
|
using ServerCommon.BusinessLogDomain;
|
|
|
|
|
|
using GameServer;
|
|
|
|
|
|
|
|
namespace GameServer
|
|
{
|
|
public static class BeaconBusinessLogHelper
|
|
{
|
|
public static BeaconLogInfo toBeaconLogInfo(this UgcNpc ugcNpc)
|
|
{
|
|
var ugc_npc_attribute = ugcNpc.getEntityAttribute<UgcNpcAttribute>();
|
|
NullReferenceCheckHelper.throwIfNull(ugc_npc_attribute, () => $"ugc_npc_attribute is null !!! - {ugcNpc.toBasicString()}");
|
|
|
|
var log_info = new BeaconLogInfo();
|
|
log_info.setLogInfo(ugc_npc_attribute);
|
|
|
|
return log_info;
|
|
}
|
|
|
|
public static BeaconLogInfo toBeaconLogInfo(this UgcNpcAttribute ugcNpcAttribute)
|
|
{
|
|
var log_info = new BeaconLogInfo();
|
|
log_info.setLogInfo(ugcNpcAttribute);
|
|
|
|
return log_info;
|
|
}
|
|
|
|
//=====================================================================================
|
|
// 비즈니스 로그 주요 함수
|
|
//=====================================================================================
|
|
|
|
public static void setLogInfo(this BeaconLogInfo log, UgcNpcAttribute ugcNpcAttribute)
|
|
{
|
|
ArgumentNullReferenceCheckHelper.throwIfNull(ugcNpcAttribute, () => $"ugcNpcAttribute is null !!!");
|
|
|
|
var net_server = GameServerApp.getServerLogic().getProudNetListener().getNetServer();
|
|
NullReferenceCheckHelper.throwIfNull(net_server, () => $"net_server is null !!! - {ugcNpcAttribute.toBasicString()}");
|
|
|
|
var ugc_npc_pk = string.Empty;
|
|
var ugc_npc_sk = string.Empty;
|
|
|
|
(var result, var ugc_npc_doc) = ugcNpcAttribute.toDocBase(false).GetAwaiter().GetResult();
|
|
NullReferenceCheckHelper.throwIfNull(ugc_npc_doc, () => $"ugc_npc_doc is null !!! - {ugcNpcAttribute.toBasicString()}");
|
|
|
|
if (result.isFail())
|
|
{
|
|
var err_msg = $"Failed to toDocBase() !!!, in BeaconBusinessLogHelper.setLogInfo() : {result.toBasicString()} - {ugcNpcAttribute.toBasicString()}";
|
|
Log.getLogger().error(err_msg);
|
|
}
|
|
else
|
|
{
|
|
ugc_npc_pk = ugc_npc_doc.getPK();
|
|
ugc_npc_sk = ugc_npc_doc.getSK();
|
|
}
|
|
|
|
var ugc_npc_attrib = ugc_npc_doc.getAttrib<UgcNpcAttrib>();
|
|
NullReferenceCheckHelper.throwIfNull(ugc_npc_attrib, () => $"ugc_npc_attrib is null !!! - {ugcNpcAttribute.toBasicString()}");
|
|
|
|
log.setLogProperty(
|
|
ugc_npc_attrib.UgcNpcMetaGuid
|
|
, ugc_npc_pk
|
|
, ugc_npc_sk
|
|
, ugc_npc_attrib.Nickname
|
|
, ugc_npc_attrib.OwnerEntityType
|
|
, ugc_npc_attrib.OwnerGuid
|
|
, ugc_npc_attrib.LanguageType
|
|
, ugc_npc_attrib.State
|
|
, ugc_npc_attrib.AnchorMetaGuid
|
|
, ugc_npc_attrib.MetaIdOfEntityStateType
|
|
, ugc_npc_attrib.LocatedInstanceGuid
|
|
, ugc_npc_attrib.LocatedInstanceMetaId
|
|
, ugc_npc_attrib.IsRegisteredAiChatServer
|
|
, ugcNpcAttribute.getCurrentPos()
|
|
);
|
|
}
|
|
}
|
|
}
|