public void UpdatePokemonSpawn(SpawnedPokemon spawnedPokemon) { if (spawnedPokemon.Despawn < DateTime.MinValue) { return; } try { lock (dbLock) { using (var context = new PogoDBContext()) { var pokemonSpawn = context.PokemonSpawns.FirstOrDefault(ps => ps.EncounterID == spawnedPokemon.EncounterID); if (pokemonSpawn == null) { return; } pokemonSpawn.Despawn = pokemonSpawn.Despawn; context.SaveChanges(); } } } catch (Exception ex) { log.Error(ex, "Failed to update pokemon spawn in database."); } }
public void HandleSpawnedPokemon(SpawnedPokemon spawnedPokemon) { if (!spawnedEncounters.Contains(spawnedPokemon.EncounterID)) { spawnedEncounters.Add(spawnedPokemon.EncounterID); PogoDB.AddPokemonSpawn(spawnedPokemon); var message = new SpawnedPokemonMessage(spawnedPokemon, nearbyEncounters.Contains(spawnedPokemon.EncounterID), pogoInstance.Configuration); message.Send(); } }
public static void AddPokemonSpawn(SpawnedPokemon spawnedPokemon) { try { lock (addLock) { using (var context = new PogoDBContext()) { context.PokemonSpawns.Add(spawnedPokemon); context.SaveChanges(); } } } catch (Exception ex) { log.Error(ex, "Failed to add pokemon spawn to database."); } }
public void HandleSpawnedPokemon(SpawnedPokemon spawnedPokemon) { if (!spawnedEncounters.ContainsKey(spawnedPokemon.SpawnPointID) || spawnedEncounters[spawnedPokemon.SpawnPointID].EncounterID != spawnedPokemon.EncounterID) { this.pogoInstance.Database.AddPokemonSpawn(spawnedPokemon); log.Info($"Pokemon, {spawnedPokemon.PokemonID.ToString()}, spawned at long:{spawnedPokemon.Longitude},lat:{spawnedPokemon.Latitude}"); var message = new SpawnedPokemonMessage(spawnedPokemon, pogoInstance.Configuration); message.Send(); spawnedEncounters[spawnedPokemon.SpawnPointID] = spawnedPokemon; if (!nearbyEncounters.ContainsKey(spawnedPokemon.EncounterID)) { nearbyEncounters.Add(spawnedPokemon.EncounterID, spawnedPokemon.Encountered); } } else { this.pogoInstance.Database.UpdatePokemonSpawn(spawnedPokemon); } }
public SpawnedPokemonMessage(SpawnedPokemon spawnedPokemon, InstanceConfiguration configuration) : base(configuration) { this.spawnedPokemon = spawnedPokemon; }
public SpawnedPokemonMessage(SpawnedPokemon spawnedPokemon, bool wasNearby, InstanceConfiguration configuration) : base(configuration) { this.spawnedPokemon = spawnedPokemon; this.wasNearby = wasNearby; }