Esempio n. 1
0
 /// <summary>
 /// Adds a revealed map to the account.
 /// </summary>
 /// <param name="map"></param>
 public void AddRevealedMap(RevealedMap revealedMap)
 {
     lock (_revealedMaps)
     {
         if (_revealedMaps.TryGetValue(revealedMap.MapId, out var map))
         {
             map.Update(revealedMap.Explored, revealedMap.Percentage);
         }
         else
         {
             _revealedMaps[revealedMap.MapId] = revealedMap;
         }
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Loads revealed maps for the account.
        /// </summary>
        /// <param name="account"></param>
        private void LoadRevealedMaps(Account account)
        {
            using (var conn = this.GetConnection())
                using (var mc = new MySqlCommand("SELECT * FROM `revealedMaps` WHERE `accountId` = @accountId", conn))
                {
                    mc.Parameters.AddWithValue("@accountId", account.Id);

                    using (var reader = mc.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var map        = reader.GetInt32("map");
                            var explored   = (byte[])reader["explored"];
                            var percentage = reader.GetFloat("percentage");

                            var revealedMap = new RevealedMap(map, explored, percentage);
                            account.AddRevealedMap(revealedMap);
                        }
                    }
                }
        }