using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Driver; using NetCore.Protocol.MemoryPack; namespace NetServer.MongoDB.DBData; public class PlayerData { [BsonId] public ObjectId id { get; set; } public long playerId { get; set; } public string account { get; set; } public string password { get; set; } public string token { get; set; } public string ip { get; set; } public string device { get; set; } /// /// 玩家等级 /// public int playerLevel { get; set; } /// /// 关卡进度 /// public int levelBattleId { get; set; } public List PlayerHero { get; set; } public List PlayerItemDatas { get; set; } public List PlayerEquipDatas { get; set; } [BsonIgnore] public UpdateDefinition Update; public UpdateDefinition CapyUpdate() { lock (Update) { UpdateDefinition updateValue = Update; Update = null; return updateValue; } } public void AddUpdateDefinition(UpdateDefinition updateDefinition) { if (Update != null) { Builders.Update.Combine(Update, updateDefinition); } else { Update = updateDefinition; } } public HeroData PlayerHeroToHeroData(PlayerHero playerHero) { HeroData heroData = new HeroData(); heroData.heroId = playerHero.heroId; heroData.heroLevel = playerHero.heroLevel; heroData.heroExp = playerHero.heroExp; heroData.heroStar = playerHero.heroStar; heroData.equipID = playerHero.equipID; return heroData; } }