private void UpdateVillage(CocApi cocApi, VillageApiModel downloadedVillage) { if (downloadedVillage.AttackWins != AttackWins || downloadedVillage.BestTrophies != BestTrophies || downloadedVillage.BestVersusTrophies != BestVersusTrophies || downloadedVillage.BuilderHallLevel != BuilderHallLevel || //downloadedVillage.DefenseWins != DefenseWins || //downloadedVillage.Donations != Donations || //downloadedVillage.DonationsReceived != DonationsReceived || //downloadedVillage.ExpLevel != ExpLevel || //downloadedVillage.Name != Name || //downloadedVillage.Role != Role || downloadedVillage.TownHallLevel != TownHallLevel || downloadedVillage.TownHallWeaponLevel != TownHallWeaponLevel || //downloadedVillage.Trophies != Trophies || //downloadedVillage.VersusBattleWinCount != VersusBattleWinCount || //downloadedVillage.VersusBattleWins != VersusBattleWins || //downloadedVillage.VersusTrophies != VersusTrophies || downloadedVillage.WarStars != WarStars ) { cocApi.VillageChangedEvent(this, downloadedVillage); //AttackWins = downloadedVillage.AttackWins; //BestTrophies = downloadedVillage.BestTrophies; //BestVersusTrophies = downloadedVillage.BestVersusTrophies; //BuilderHallLevel = downloadedVillage.BuilderHallLevel; ////Name = downloadedVillage.Name; ////Role = downloadedVillage.Role; //TownHallLevel = downloadedVillage.TownHallLevel; //TownHallWeaponLevel = downloadedVillage.TownHallWeaponLevel; //WarStars = downloadedVillage.WarStars; } }
private void UpdateVillageVersusTrophies(CocApi cocApi, VillageApiModel downloadedVillage) { if (downloadedVillage.VersusTrophies != VersusTrophies) { cocApi.VillageVersusTrophiesChangedEvent(this, downloadedVillage.VersusTrophies); //VersusTrophies = downloadedVillage.VersusTrophies; } }
private void UpdateVillageVersusBattleWins(CocApi cocApi, VillageApiModel downloadedVillage) { if (downloadedVillage.VersusBattleWins != VersusBattleWins) { cocApi.VillageVersusBattleWinsChangedEvent(this, downloadedVillage.VersusBattleWins); //VersusBattleWins = downloadedVillage.VersusBattleWins; } }
private void UpdateVillageVersusBattleWinCount(CocApi cocApi, VillageApiModel downloadedVillage) { if (downloadedVillage.VersusBattleWinCount != VersusBattleWinCount) { cocApi.VillageVersusBattleWinCountChangedEvent(this, downloadedVillage.VersusBattleWinCount); //VersusBattleWinCount = downloadedVillage.VersusBattleWinCount; } }
private void UpdateVillageExpLevel(CocApi cocApi, VillageApiModel downloadedVillage) { if (downloadedVillage.ExpLevel != ExpLevel) { cocApi.VillageExpLevelChangedEvent(this, downloadedVillage.ExpLevel); //ExpLevel = downloadedVillage.ExpLevel; } }
private void UpdateVillageDefenseWins(CocApi cocApi, VillageApiModel downloadedVillage) { if (downloadedVillage.DefenseWins != DefenseWins) { cocApi.VillageDefenseWinsChangedEvent(this, downloadedVillage.DefenseWins); //DefenseWins = downloadedVillage.DefenseWins; } }
private void UpdateLegendLeagueStatistics(CocApi cocApi, VillageApiModel downloadedVillage) { if (LegendStatistics == null && downloadedVillage.LegendStatistics == null) { return; } if (LegendStatistics == null && downloadedVillage.LegendStatistics != null) { cocApi.VillageReachedLegendsLeagueEvent(downloadedVillage); } //LegendStatistics = downloadedVillage.LegendStatistics; }
private void UpdateLabels(CocApi cocApi, VillageApiModel downloadedVillage) { if (Labels == null && downloadedVillage.Labels == null) { return; } if (Labels != null && Labels.Count() > 0 && (downloadedVillage.Labels == null || downloadedVillage.Labels.Count() == 0)) { cocApi.VillageLabelsRemovedEvent(downloadedVillage, Labels); //Labels = downloadedVillage.Labels; } else if ((Labels == null || Labels.Count() == 0) && downloadedVillage.Labels != null && downloadedVillage.Labels.Count() > 0) { cocApi.VillageLabelsAddedEvent(downloadedVillage, downloadedVillage.Labels); //Labels = downloadedVillage.Labels; } else { List <VillageLabelApiModel> added = new List <VillageLabelApiModel>(); List <VillageLabelApiModel> removed = new List <VillageLabelApiModel>(); foreach (VillageLabelApiModel labelApiModel in Labels.EmptyIfNull()) { if (!downloadedVillage.Labels.Any(l => l.Id == labelApiModel.Id)) { removed.Add(labelApiModel); } } foreach (VillageLabelApiModel labelApiModel in downloadedVillage.Labels.EmptyIfNull()) { if (!Labels.Any(l => l.Id == labelApiModel.Id)) { added.Add(labelApiModel); } } cocApi.VillageLabelsRemovedEvent(downloadedVillage, removed); cocApi.VillageLabelsAddedEvent(downloadedVillage, added); //Labels = downloadedVillage.Labels; } }
internal void Update(CocApi cocApi, VillageApiModel downloadedVillage) { lock (_updateLock) { Logger ??= cocApi.Logger; if (ReferenceEquals(this, downloadedVillage)) { return; } Swallow(() => UpdateVillage(cocApi, downloadedVillage), nameof(UpdateVillage)); Swallow(() => UpdateLabels(cocApi, downloadedVillage), nameof(UpdateLabels)); Swallow(() => UpdateVillageDefenseWins(cocApi, downloadedVillage), nameof(UpdateVillageDefenseWins)); //UpdateVillageDonations(cocApi, downloadedVillage); //UpdateVillageDonationsReceived(cocApi, downloadedVillage); Swallow(() => UpdateVillageExpLevel(cocApi, downloadedVillage), nameof(UpdateVillageExpLevel)); Swallow(() => UpdateVillageTrophies(cocApi, downloadedVillage), nameof(UpdateVillageTrophies)); Swallow(() => UpdateVillageVersusBattleWinCount(cocApi, downloadedVillage), nameof(UpdateVillageVersusBattleWinCount)); Swallow(() => UpdateVillageVersusBattleWins(cocApi, downloadedVillage), nameof(UpdateVillageVersusBattleWins)); Swallow(() => UpdateVillageVersusTrophies(cocApi, downloadedVillage), nameof(UpdateVillageVersusTrophies)); //UpdateVillageLeague(cocApi, downloadedVillage); Swallow(() => UpdateVillageAchievements(cocApi, downloadedVillage), nameof(UpdateVillageAchievements)); Swallow(() => UpdateVillageTroops(cocApi, downloadedVillage), nameof(UpdateVillageTroops)); Swallow(() => UpdateVillageHeroes(cocApi, downloadedVillage), nameof(UpdateVillageHeroes)); Swallow(() => UpdateVillageSpells(cocApi, downloadedVillage), nameof(UpdateVillageSpells)); Swallow(() => UpdateLegendLeagueStatistics(cocApi, downloadedVillage), nameof(UpdateLegendLeagueStatistics)); //UpdateAtUtc = downloadedVillage.UpdateAtUtc; //Expires = downloadedVillage.Expires; } }
private void UpdateVillageTroops(CocApi cocApi, VillageApiModel downloadedVillage) { List <TroopApiModel> newTroops = new List <TroopApiModel>(); foreach (TroopApiModel troop in downloadedVillage.Troops.EmptyIfNull()) { TroopApiModel?oldTroop = Troops.FirstOrDefault(t => t.Name == troop.Name); if (oldTroop == null || oldTroop.Level < troop.Level) { newTroops.Add(troop); } } if (newTroops.Count() > 0) { cocApi.VillageTroopsChangedEvent(this, newTroops); //Troops = downloadedVillage.Troops; } }
private void UpdateVillageSpells(CocApi cocApi, VillageApiModel downloadedVillage) { List <VillageSpellApiModel> newSpells = new List <VillageSpellApiModel>(); foreach (VillageSpellApiModel spell in downloadedVillage.Spells.EmptyIfNull()) { VillageSpellApiModel?oldSpell = Spells.FirstOrDefault(s => s.Name == spell.Name); if (oldSpell == null || oldSpell.Level < spell.Level) { newSpells.Add(spell); } } if (newSpells.Count() > 0) { cocApi.VillageSpellsChangedEvent(this, newSpells); //Spells = downloadedVillage.Spells; } }
private void UpdateVillageAchievements(CocApi cocApi, VillageApiModel downloadedVillage) { List <AchievementApiModel> newAchievements = new List <AchievementApiModel>(); foreach (AchievementApiModel achievement in downloadedVillage.Achievements.EmptyIfNull()) { if (achievement.Value > achievement.Target) { AchievementApiModel oldAchievement = Achievements.FirstOrDefault(a => a.Name == achievement.Name); if (oldAchievement == null || oldAchievement.Value < oldAchievement.Target) { newAchievements.Add(achievement); } } } if (newAchievements.Count() > 0) { cocApi.VillageAchievementsChangedEvent(this, newAchievements); //Achievements = downloadedVillage.Achievements; } }