示例#1
0
 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_);
 }
示例#2
0
        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;
                }
            }
        }