public void MergeFrom(GymStatusAndDefenders other) { if (other == null) { return; } if (other.pokemonFortProto_ != null) { if (pokemonFortProto_ == null) { pokemonFortProto_ = new global::POGOProtos.Map.Fort.FortData(); } PokemonFortProto.MergeFrom(other.PokemonFortProto); } gymDefender_.Add(other.gymDefender_); }
public Gym(ulong cellId, PokemonFortProto fort) { var now = DateTime.UtcNow.ToTotalSeconds(); Id = fort.FortId; Latitude = fort.Latitude; Longitude = fort.Longitude; //Name = fort.Name; Url = fort.ImageUrl; GuardingPokemonId = (uint)fort.GuardPokemonId; AvailableSlots = (ushort?)fort.GymDisplay?.SlotsAvailable ?? 0; LastModifiedTimestamp = (ulong)fort.LastModifiedMs / 1000; Team = fort.Team; Enabled = fort.Enabled; ExRaidEligible = fort.IsExRaidEligible; InBattle = fort.IsInBattle; TotalCP = fort.GymDisplay.TotalGymCp; CellId = cellId; SponsorId = (uint)fort.Sponsor; Updated = now; Deleted = false; //IsArScanEligible = fort.IsArScanEligible; if (fort.RaidInfo != null) { Url = fort.ImageUrl; RaidEndTimestamp = Convert.ToUInt64(fort.RaidInfo.RaidEndMs / 1000); RaidSpawnTimestamp = Convert.ToUInt64(fort.RaidInfo.RaidSpawnMs / 1000); RaidBattleTimestamp = Convert.ToUInt64(fort.RaidInfo.RaidBattleMs / 1000); RaidLevel = (ushort)fort.RaidInfo.RaidLevel; RaidIsExclusive = fort.RaidInfo.IsExclusive; if (fort.RaidInfo.RaidPokemon != null) { RaidPokemonId = (uint?)fort.RaidInfo.RaidPokemon.PokemonId; RaidPokemonMove1 = (uint?)fort.RaidInfo.RaidPokemon.Move1; RaidPokemonMove2 = (uint?)fort.RaidInfo.RaidPokemon.Move2; RaidPokemonCP = (uint?)fort.RaidInfo.RaidPokemon.Cp; RaidPokemonForm = (uint?)fort.RaidInfo.RaidPokemon.PokemonDisplay.Form; RaidPokemonGender = (ushort)fort.RaidInfo.RaidPokemon.PokemonDisplay.Gender; RaidPokemonEvolution = (uint)fort.RaidInfo.RaidPokemon.PokemonDisplay.CurrentTempEvolution; } } }