自动定时数据落地

This commit is contained in:
bob
2025-08-01 18:05:25 +08:00
parent 96f22a3e48
commit c97bd0ab55
30 changed files with 477 additions and 310 deletions

View File

@@ -6,72 +6,35 @@ namespace NB.Game;
public sealed class Player : Entity
{
[BsonElement("ct")] public long CreateTime;
[BsonElement("lt")] public long LoginTime;
/// <summary>
/// 基础信息
/// </summary>
public PlayerBasic Basic;
/// <summary>
/// 昵称
/// 统计信息
/// </summary>
[BsonElement("name")] public string NickName;
public PlayerStatistics Statistics;
/// <summary>
/// 头像
/// 角色vip信息
/// </summary>
public string Head;
public PlayerVip Vip;
/// <summary>
/// 国家
/// 钱包
/// </summary>
public string Country;
public PlayerWallet Wallet;
/// <summary>
/// 等级
/// 背包
/// </summary>
[BsonElement("lv")] public int Level;
/// <summary>
/// 当前经验
/// </summary>
public int Exp;
/// <summary>
/// 余额
/// </summary>
public int Money;
/// <summary>
/// 金币
/// </summary>
public int Gold;
// public PlayerStatistics Statistics = new PlayerStatistics();
// public PlayerDayFlags DayFlags = new PlayerDayFlags();
// public PlayerVip Vip = new PlayerVip();
/// <summary>
/// 其他货币
/// </summary>
[BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
public Dictionary<int, int> Currency = new();
/// <summary>
/// 插槽
/// </summary>
[BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
public Dictionary<uint, long> Slots = new Dictionary<uint, long>();
/// <summary>
/// 背包物品
/// </summary>
[BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
public Dictionary<long, Item> Items = new Dictionary<long, Item>();
public ItemContainer ItemContainer;
/// <summary>
/// 鱼护
/// </summary>
[BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
public Dictionary<long, Fish> Fishes = new Dictionary<long, Fish>();
public FishContainer FishContainer;
[BsonIgnore] public long SessionRunTimeId;
@@ -82,7 +45,7 @@ public sealed class Player : Entity
[BsonIgnore] public bool NeedSave;
/// <summary>
/// 最后保存时间
/// 需要保存数据库时间
/// </summary>
[BsonIgnore] public long LastSaveTime;
[BsonIgnore] public long NeedSaveTime;
}