Exemple #1
0
        private void PushRemoveForceMoveMarker(ISession session)
        {
            var botReceiver = BotsCollection.FirstOrDefault(x => x.Session == session);
            var nMapObj     = new NewMapObject("forcemove_done", "", 0, 0, "");

            botReceiver?.MarkersQueue.Enqueue(nMapObj);
        }
Exemple #2
0
        private void PushRemovePokemon(ISession session, MapPokemon mapPokemon)
        {
            var botReceiver = BotsCollection.FirstOrDefault(x => x.Session == session);
            var nMapObj     = new NewMapObject("pm_rm", mapPokemon.PokemonId.ToString(), mapPokemon.Latitude, mapPokemon.Longitude, mapPokemon.EncounterId.ToString());

            botReceiver?.MarkersQueue.Enqueue(nMapObj);
        }
        internal static void PushNewPokemons(ISession session, IEnumerable <MapPokemon> pokemons)
        {
            var botReceiver = MainWindow.BotsCollection.FirstOrDefault(x => x.Session == session);

            if (botReceiver == null)
            {
                return;
            }
            var mapPokemons  = pokemons as IList <MapPokemon> ?? pokemons.ToList();
            var mapMarkers   = botReceiver.MapMarkers.ToDictionary(x => x.Key, x => x.Value);
            var markersQueue = botReceiver.MarkersQueue.ToList();

            foreach (var pokemon in mapPokemons)
            {
                if (mapMarkers.ContainsKey(pokemon.EncounterId.ToString()) ||
                    markersQueue.Any(x => x.Uid == pokemon.EncounterId.ToString()))
                {
                    continue;
                }
                var nMapObj = new NewMapObject(MapPbjectType.Pokemon, pokemon.PokemonId.ToString(), pokemon.Latitude,
                                               pokemon.Longitude, pokemon.EncounterId.ToString());
                if (botReceiver.Started)
                {
                    botReceiver.MarkersQueue.Enqueue(nMapObj);
                }
            }
            DbHandler.PushPokemonsToDb(mapPokemons);
        }
Exemple #4
0
        private void PushNewGymPoke(ISession session, object[] paramObjects)
        {
            var botReceiver = BotsCollection.FirstOrDefault(x => x.Session == session);

            if (botReceiver == null)
            {
                return;
            }

            try
            {
                var id   = (string)paramObjects[0];
                var name = (string)paramObjects[1];
                var team = (TeamColor)paramObjects[2];
                var lat  = (double)paramObjects[3];
                var lon  = (double)paramObjects[4];

                if (botReceiver.MapMarkers.ContainsKey(id) ||
                    botReceiver.MarkersQueue.Count(x => x.Uid == id) != 0)
                {
                    return;
                }
                var nMapObj = new NewMapObject("gym", name, lat,
                                               lon, id, team);
                botReceiver.MarkersQueue.Enqueue(nMapObj);
            }
            catch (Exception)
            {
                //ignore
            }
        }
        private void PushRemovePokemon(ISession session, MapPokemon mapPokemon)
        {
            if (!_openedSessions.ContainsKey(session))
            {
                return;
            }
            var tBot    = _openedSessions[session];
            var nMapObj = new NewMapObject("pm_rm", mapPokemon.PokemonId.ToString(), mapPokemon.Latitude, mapPokemon.Longitude, mapPokemon.EncounterId.ToString());

            tBot.MarkersQueue.Enqueue(nMapObj);
        }
        private void PushRemoveForceMoveMarker(ISession session)
        {
            if (!_openedSessions.ContainsKey(session))
            {
                return;
            }
            var tBot    = _openedSessions[session];
            var nMapObj = new NewMapObject("forcemove_done", "", 0, 0, "");

            tBot.MarkersQueue.Enqueue(nMapObj);
        }
Exemple #7
0
        private void CreatePokemonMarker(NewMapObject newMapObj)
        {
            var pokemon = (PokemonId)Enum.Parse(typeof(PokemonId), newMapObj.OName);

            var marker = new GMapMarker(new PointLatLng(newMapObj.Lat, newMapObj.Lng))
            {
                Shape = pokemon.ToImage(), Offset = new Point(-12, -30), ZIndex = 10
            };

            AddMarker(marker);
            _bot.MapMarkers.Add(newMapObj.Uid, marker);
        }
        internal static void PushNewPokestop(ISession session, IEnumerable <FortData> pstops)
        {
            var botReceiver = MainWindow.BotsCollection.FirstOrDefault(x => x.Session == session);

            if (botReceiver == null)
            {
                return;
            }
            var fortDatas = pstops as FortData[] ?? pstops.ToArray();

            DbHandler.PushPokestopsToDb(fortDatas);

            for (var i = 0; i < fortDatas.Length; i++)
            {
                try
                {
                    try
                    {
                        var i1 = i;

                        var haveThatMarker = botReceiver.MapMarkers.ContainsKey(fortDatas[i1].Id) ||
                                             botReceiver.MarkersQueue.Any(x => x.Uid == fortDatas[i1].Id);
                        if (haveThatMarker)
                        {
                            continue;
                        }
                    }
                    catch (Exception ex) //ex)
                    {
                        Logger.Write("[PS_FAIL]" + ex.Message);
                        // ignored
                    }
                    var lured   = fortDatas[i].LureInfo?.LureExpiresTimestampMs > DateTime.UtcNow.ToUnixTime();
                    var nMapObj = new NewMapObject(lured ? MapPbjectType.PokestopLured : MapPbjectType.Pokestop,
                                                   "PokeStop", fortDatas[i].Latitude, fortDatas[i].Longitude, fortDatas[i].Id);
                    if (botReceiver.Started)
                    {
                        botReceiver.MarkersQueue.Enqueue(nMapObj);
                    }
                }
                catch (Exception ex) //ex)
                {
                    Logger.Write("[PS_FAIL]" + ex.Message);
                    i--;
                }
            }
        }
        private void CreateGymMarker(NewMapObject newMapObj)
        {
            try
            {
                var   team = (TeamColor?)newMapObj.ExtraData[0];
                Image shape;
                switch (team)
                {
                case TeamColor.Neutral:
                    shape = Properties.Resources.gym.ToImage(newMapObj.OName);
                    break;

                case TeamColor.Blue:
                    shape = Properties.Resources.gym_blue.ToImage(newMapObj.OName);
                    break;

                case TeamColor.Red:
                    shape = Properties.Resources.gym_red.ToImage(newMapObj.OName);
                    break;

                case TeamColor.Yellow:
                    shape = Properties.Resources.gym_yellow.ToImage(newMapObj.OName);
                    break;

                case null:
                    shape = Properties.Resources.gym.ToImage(newMapObj.OName);
                    break;

                default:
                    shape = Properties.Resources.gym.ToImage(newMapObj.OName);
                    break;
                }

                var marker = new GMapMarker(new PointLatLng(newMapObj.Lat, newMapObj.Lng))
                {
                    Shape  = shape,
                    Offset = new Point(-16, -32),
                    ZIndex = 6
                };
                AddMarker(marker);
                _bot.MapMarkers.Add(newMapObj.Uid, marker);
            }
            catch (Exception)
            {
                //ignore
            }
        }
        private void CreatePokemonMarker(NewMapObject newMapObj)
        {
            Dispatcher.Invoke(new ThreadStart(delegate
            {
                var pokemon = (PokemonId)Enum.Parse(typeof(PokemonId), newMapObj.OName);

                var marker = new GMapMarker(new PointLatLng(newMapObj.Lat, newMapObj.Lng))
                {
                    Shape  = pokemon.ToImage(),
                    Offset = new Point(-12, -30),
                    ZIndex = 10,
                    Tag    = "pm"
                };
                AddMarker(marker);
                _bot.MapMarkers.Add(newMapObj.Uid, marker);
            }));
        }
Exemple #11
0
        private void PushNewWildPokemons(ISession session, IEnumerable <WildPokemon> pokemons)
        {
            var botReceiver = BotsCollection.FirstOrDefault(x => x.Session == session);

            if (botReceiver == null)
            {
                return;
            }
            foreach (var pokemon in pokemons)
            {
                if (botReceiver.MapMarkers.ContainsKey(pokemon.EncounterId.ToString()) || botReceiver.MarkersQueue.Count(x => x.Uid == pokemon.EncounterId.ToString()) != 0)
                {
                    continue;
                }
                var nMapObj = new NewMapObject("pm", pokemon.PokemonData.PokemonId.ToString(), pokemon.Latitude, pokemon.Longitude, pokemon.EncounterId.ToString());
                botReceiver.MarkersQueue.Enqueue(nMapObj);
            }
        }
Exemple #12
0
 private void PushNewWildPokemons(ISession session, IEnumerable <WildPokemon> pokemons)
 {
     if (!_openedSessions.ContainsKey(session))
     {
         return;
     }
     foreach (var pokemon in pokemons)
     {
         var tBot = _openedSessions[session];
         if (tBot.MapMarkers.ContainsKey(pokemon.EncounterId.ToString()) ||
             tBot.MarkersQueue.Count(x => x.Uid == pokemon.EncounterId.ToString()) != 0)
         {
             continue;
         }
         var nMapObj = new NewMapObject("pm", pokemon.PokemonData.PokemonId.ToString(), pokemon.Latitude, pokemon.Longitude, pokemon.EncounterId.ToString());
         tBot.MarkersQueue.Enqueue(nMapObj);
     }
 }
Exemple #13
0
        private void PushRemovePokemon(ISession session, MapPokemon mapPokemon)
        {
            var botReceiver = BotsCollection.FirstOrDefault(x => x.Session == session);

            if (botReceiver == null)
            {
                return;
            }
            var nMapObj      = new NewMapObject("pm_rm", mapPokemon.PokemonId.ToString(), mapPokemon.Latitude, mapPokemon.Longitude, mapPokemon.EncounterId.ToString());
            var queueCleanup = botReceiver.MarkersQueue.Where(x => x.Uid == mapPokemon.PokemonId.ToString()).ToList();

            if (queueCleanup.Any() && botReceiver != Bot)
            {
                botReceiver.MarkersQueue =
                    new Queue <NewMapObject>(botReceiver.MarkersQueue.Where(x => queueCleanup.Any(v => x == v)));
            }
            else
            {
                botReceiver.MarkersQueue.Enqueue(nMapObj);
            }
        }
        private async Task CreatePokestopMarker(string name, NewMapObject newMapObj)
        {
            await Dispatcher.BeginInvoke(new ThreadStart(delegate
            {
                var shape = newMapObj.OType == MapPbjectType.PokestopLured
                    ? Properties.Resources.pstop_lured.ToImage("Lured - " + name)
                    : Properties.Resources.pstop.ToImage(name);

                shape.ContextMenu = FindResource("PokestopContextMenu") as ContextMenu;
                var marker = new GMapMarker(new PointLatLng(newMapObj.Lat, newMapObj.Lng))
                {
                    Shape = shape,
                    Offset = new Point(-16, -32),
                    ZIndex = 5,
                    Tag = _bot
                };
                AddMarker(marker);
                if (!_bot.MapMarkers.ContainsKey(newMapObj.Uid))
                {
                    _bot.MapMarkers.Add(newMapObj.Uid, marker);
                }
            }));
        }
Exemple #15
0
        private void PushNewPokestop(ISession session, IEnumerable <FortData> pstops)
        {
            var botReceiver = BotsCollection.FirstOrDefault(x => x.Session == session);

            if (botReceiver == null)
            {
                return;
            }
            var fortDatas = pstops as FortData[] ?? pstops.ToArray();

            // ReSharper disable once ForCanBeConvertedToForeach
            for (var i = 0; i < fortDatas.Length; i++)
            {
                try
                {
                    try
                    {
                        if (botReceiver.MapMarkers.ContainsKey(fortDatas[i].Id) || botReceiver.MarkersQueue.Count(x => x.Uid == fortDatas[i].Id) != 0)
                        {
                            continue;
                        }
                    }
                    catch (Exception) //ex)
                    {
                        // ignored
                    }
                    var lured   = fortDatas[i].LureInfo?.LureExpiresTimestampMs > DateTime.UtcNow.ToUnixTime();
                    var nMapObj = new NewMapObject("ps" + (lured ? "_lured" : ""), "PokeStop", fortDatas[i].Latitude, fortDatas[i].Longitude, fortDatas[i].Id);
                    botReceiver.MarkersQueue.Enqueue(nMapObj);
                }
                catch (Exception) //ex)
                {
                    i--;
                }
            }
        }