using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; using ServerCore; using ServerBase; using META_ID = System.UInt32; using UGC_NPC_META_GUID = System.String; using OWNER_GUID = System.String; namespace ServerCommon.BusinessLogDomain; public class BeaconCreateLogInfo : ILogInvoker.IInfo { [JsonProperty] public UGC_NPC_META_GUID UgcNpcMetaGuid { get; set; } = string.Empty; [JsonProperty] public string UgcNpcPK { get; set; } = string.Empty; [JsonProperty] public string UgcNpcSK { get; set; } = string.Empty; [JsonProperty] public string UgcNpcNickname { get; set; } = string.Empty; [JsonProperty] public string Title { get; set; } = string.Empty; [JsonProperty] public string Greeting { get; set; } = string.Empty; [JsonProperty] public string Introduction { get; set; } = string.Empty; [JsonProperty] public string Description { get; set; } = string.Empty; [JsonProperty] public string WorldScenario { get; set; } = string.Empty; [JsonProperty] public META_ID DefaultSocialActionMetaId { get; set; } = 0; [JsonProperty] public List HabitSocialActionMetaIds { get; set; } = new List(); [JsonProperty] public List DialogueSocialActionMetaIds { get; set; } = new List(); [JsonProperty] public List HashTagMetaIds { get; set; } = new(); [JsonProperty] public META_ID BodyItemMetaId { get; set; } = 0; [JsonProperty] public OwnerEntityType OwnerEntityType { get; set; } = OwnerEntityType.None; [JsonProperty] public OWNER_GUID OwnerGuid { get; set; } = string.Empty; [JsonProperty] public LanguageType LanguageType { get; set; } = LanguageType.None; [JsonProperty] public DateTime CreatedTime { get; set; } = DateTimeHelper.MinTime; //===================================================================================== // 로그 생성용 객체 정의 //===================================================================================== public BeaconCreateLogInfo() : base() { } public void setInfo(BeaconCreateLogInfo logInfo) { ArgumentNullReferenceCheckHelper.throwIfNull(logInfo, () => $"logInfo is null !!!"); UgcNpcMetaGuid = logInfo.UgcNpcMetaGuid; UgcNpcPK = logInfo.UgcNpcPK; UgcNpcSK = logInfo.UgcNpcSK; UgcNpcNickname = logInfo.UgcNpcNickname; Title = logInfo.Title; Greeting = logInfo.Greeting; Introduction = logInfo.Introduction; Description = logInfo.Description; WorldScenario = logInfo.WorldScenario; DefaultSocialActionMetaId = logInfo.DefaultSocialActionMetaId; HabitSocialActionMetaIds = logInfo.HabitSocialActionMetaIds.ToList(); DialogueSocialActionMetaIds = logInfo.DialogueSocialActionMetaIds.ToList(); HashTagMetaIds = logInfo.HashTagMetaIds.ToList(); BodyItemMetaId = logInfo.BodyItemMetaId; OwnerEntityType = logInfo.OwnerEntityType; OwnerGuid = logInfo.OwnerGuid; LanguageType = logInfo.LanguageType; CreatedTime = logInfo.CreatedTime; } //===================================================================================== // 로그 출력용 객체 정의 //===================================================================================== public BeaconCreateLogInfo(ILogInvoker parent, DateTime createdTime, BeaconCreateLogInfo logInfo) : base(parent) { if (null != logInfo) { setInfo(logInfo); CreatedTime = createdTime; } } //===================================================================================== // 로그 설정용 함수 //===================================================================================== public void setLogProperty( UGC_NPC_META_GUID ugcNpcMetaGuid , string ugcNpcPK, string ugcNpcSK , string ugcNpcNickname , string title, string greeting, string introduction, string description, string worldScenario , META_ID defaultSocialActionMetaId, List habitSocialActionMetaIds, List dialogueSocialActionMetaIds , List hashTagMetaIds , META_ID bodyItemMetaId , OwnerEntityType ownerEntityType, OWNER_GUID ownerGuid, LanguageType languageType , DateTime createdTime ) { ArgumentNullReferenceCheckHelper.throwIfNull(habitSocialActionMetaIds, () => $"habitSocialActionMetaIds is null !!!"); ArgumentNullReferenceCheckHelper.throwIfNull(dialogueSocialActionMetaIds, () => $"dialogueSocialActionMetaIds is null !!!"); ArgumentNullReferenceCheckHelper.throwIfNull(hashTagMetaIds, () => $"hashTagMetaIds is null !!!"); UgcNpcMetaGuid = ugcNpcMetaGuid; UgcNpcPK = ugcNpcPK; UgcNpcSK = ugcNpcSK; UgcNpcNickname = ugcNpcNickname; Title = title; Greeting = greeting; Introduction = introduction; Description = description; WorldScenario = worldScenario; DefaultSocialActionMetaId = defaultSocialActionMetaId; HabitSocialActionMetaIds = habitSocialActionMetaIds; DialogueSocialActionMetaIds = dialogueSocialActionMetaIds; HashTagMetaIds = hashTagMetaIds; BodyItemMetaId = bodyItemMetaId; OwnerEntityType = ownerEntityType; OwnerGuid = ownerGuid; LanguageType = languageType; CreatedTime = createdTime; } }