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(); 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(); 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() ); } } }