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 USER_GUID = System.String; namespace ServerCommon.BusinessLogDomain { public class UserLogInfo : ILogInvoker.IInfo { [JsonProperty] public USER_GUID UserGuid { get; set; } = string.Empty; [JsonProperty] public string UserPK { get; set; } = string.Empty; [JsonProperty] public string UserSK { get; set; } = string.Empty; [JsonProperty] public LanguageType LanguageType { get; set; } = LanguageType.None; [JsonProperty] public string UserNickname { get; set; } = string.Empty; [JsonProperty] public UInt32 Level { get; set; } = 0; [JsonProperty] public double HasGold { get; set; } = 0; [JsonProperty] public double HasSapphire { get; set; } = 0; [JsonProperty] public double HasCalium { get; set; } = 0; [JsonProperty] public double HasBeam { get; set; } = 0; [JsonProperty] public double HasRuby { get; set; } = 0; [JsonProperty] public string SelectedCharacterGuid { get; set; } = string.Empty; //===================================================================================== // 로그 생성용 객체 정의 //===================================================================================== public UserLogInfo() : base() { } public void setInfo(UserLogInfo logInfo) { ArgumentNullException.ThrowIfNull(logInfo, $"logInfo is null !!!"); UserGuid = logInfo.UserGuid; UserPK = logInfo.UserPK; UserSK = logInfo.UserSK; LanguageType = logInfo.LanguageType; UserNickname = logInfo.UserNickname; Level = logInfo.Level; HasGold = logInfo.HasGold; HasSapphire = logInfo.HasSapphire; HasCalium = logInfo.HasCalium; HasBeam = logInfo.HasBeam; HasRuby = logInfo.HasRuby; SelectedCharacterGuid = logInfo.SelectedCharacterGuid; } //===================================================================================== // 로그 출력용 객체 정의 //===================================================================================== public UserLogInfo(ILogInvoker parent, UserLogInfo logInfo) : base(parent) { if (null != logInfo) { setInfo(logInfo); } } //===================================================================================== // 로그 설정용 함수 //===================================================================================== public void setLogProperty( USER_GUID userGuid , string userPK, string userSK , LanguageType languageType , string userNickname , UInt32 level , double hasGold , double hasSapphire , double hasCalium , double hasBeam , double hasRuby , string selectedCharacterGuid ) { UserGuid = userGuid; UserPK = userPK; UserSK = userSK; LanguageType = languageType; UserNickname = userNickname; Level = level; HasGold = hasGold; HasSapphire = hasSapphire; HasCalium = hasCalium; HasBeam = hasBeam; HasRuby = hasRuby; SelectedCharacterGuid = selectedCharacterGuid; } } }