/// <summary>
 /// Removes a StaticEntity from the Map and the appropriate List.
 /// </summary>
 /// <param name="e">The StaticEntity to remove</param>
 public void remove(StaticEntity e)
 {
     map.remove(e);
     switch (e.getEntityType())
     {
         case Entity.EntityType.Object:
             objects.Remove((ObjectEntity)e);
             break;
         case Entity.EntityType.Resource:
             resources.Remove((ResourceEntity)e);
             break;
         case Entity.EntityType.Building:
             buildings.Remove((Building)e);
             break;
     }
 }
 /// <summary>
 /// Inserts a StaticEntity to the Map and the appropriate List, if possible.
 /// </summary>
 /// <param name="e">The StaticEntity to insert</param>
 /// <param name="x">The X-coordinate of the intended origin Cell</param>
 /// <param name="y">The Y-coordinate of the intended origin Cell</param>
 /// <returns>True if insertion was successful, false otherwise</returns>
 public bool insert(StaticEntity e, int x, int y)
 {
     bool worked = map.insert(e, x, y);
     if (worked)
     {
         switch (e.getEntityType())
         {
             case Entity.EntityType.Object:
                 objects.Add((ObjectEntity)e);
                 break;
             case Entity.EntityType.Resource:
                 resources.Add((ResourceEntity)e);
                 break;
             case Entity.EntityType.Building:
                 buildings.Add((Building)e);
                 break;
         }
     }
     return worked;
 }