초기커밋
This commit is contained in:
92
GameServer/Contents/UgcNpc/Helper/BeaconBusinessLogHelper.cs
Normal file
92
GameServer/Contents/UgcNpc/Helper/BeaconBusinessLogHelper.cs
Normal file
@@ -0,0 +1,92 @@
|
||||
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()
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user