diff --git a/Common/Database/Player/PlayerData.cs b/Common/Database/Player/PlayerData.cs index f90bf828..56cd0ad0 100644 --- a/Common/Database/Player/PlayerData.cs +++ b/Common/Database/Player/PlayerData.cs @@ -56,6 +56,7 @@ public class PlayerData : BaseDatabaseDataHelper [SugarColumn(IsNullable = true)] public long LastActiveTime { get; set; } [SugarColumn(IsJson = true)] public List TakenLevelReward { get; set; } = []; + [SugarColumn(IsJson = true)] public PrivacySettingsPb PrivacySettings { get; set; } = new(); public static PlayerData? GetPlayerByUid(long uid) { @@ -162,7 +163,7 @@ public class PlayerData : BaseDatabaseDataHelper WorldLevel = (uint)WorldLevel, EMOBIJBDKEI = true, // ShowDisplayAvatar RecordInfo = new PlayerRecordInfo(), - PrivacySettings = new PrivacySettings(), + PrivacySettings = PrivacySettings.ToProto(), HeadFrame = HeadFrame.ToProto() }; @@ -217,4 +218,37 @@ public class PlayerHeadFrameInfo HeadFrameId = HeadFrameId }; } +} + +public class PrivacySettingsPb +{ + public bool DisplayChallengeLineup { get; set; } = true; + public bool DisplayActiveState { get; set; } = true; + public bool DisplayRecentlyState { get; set; } = true; + public bool DisplayBattleRecord { get; set; } = true; + public bool DisplayCollection { get; set; } = true; + + public PrivacySettings ToProto() + { + return new PrivacySettings + { + DisplayChallengeLineup = DisplayChallengeLineup, + DisplayActiveState = DisplayActiveState, + DisplayRecentlyState = DisplayRecentlyState, + DisplayBattleRecord = DisplayBattleRecord, + DisplayCollection = DisplayCollection + }; + } + + public PlayerSettingInfo ToSettingProto() + { + return new PlayerSettingInfo + { + DisplayChallengeLineup = DisplayChallengeLineup, + DisplayActiveState = DisplayActiveState, + DisplayRecentlyState = DisplayRecentlyState, + DisplayBattleRecord = DisplayBattleRecord, + DisplayCollection = DisplayCollection + }; + } } \ No newline at end of file diff --git a/GameServer/Server/Packet/Send/Player/PacketGetBasicInfoScRsp.cs b/GameServer/Server/Packet/Send/Player/PacketGetBasicInfoScRsp.cs index 36806d48..1eeccfc6 100644 --- a/GameServer/Server/Packet/Send/Player/PacketGetBasicInfoScRsp.cs +++ b/GameServer/Server/Packet/Send/Player/PacketGetBasicInfoScRsp.cs @@ -14,7 +14,7 @@ public class PacketGetBasicInfoScRsp : BasePacket CurDay = 1, NextRecoverTime = player.Data.NextStaminaRecover / 1000, GameplayBirthday = (uint)player.Data.Birthday, - PlayerSettingInfo = new PlayerSettingInfo(), + PlayerSettingInfo = player.Data.PrivacySettings.ToSettingProto(), Gender = (uint)player.Data.CurrentGender };