protected MapObject(MapObject copy) : base(copy) { Name = copy.Name; Width = copy.Width; Height = copy.Height; Tech = copy.Tech; barriers = ((MapComponentCollection<MapComponent>)copy.Barriers).Clone(); tables = ((MapComponentCollection<MapTables>)copy.Tables).Clone(); beacons = ((MapComponentCollection<MapBeacon>)copy.Beacons).Clone(); }
public HttpResponseMessage PutMap(MapObject map) { HttpResponseMessage response; // remote write enabled if (Minimap.MAPS_ALLOW_REMOTE_WRITE) { // map found if (map != null && Minimap.MapManager().Get(map.Id) != null) { // add successful if (Minimap.MapManager().Add(map)) { response = Request.CreateResponse(HttpStatusCode.OK); } // add failed else { response = Request.CreateResponse(HttpStatusCode.NotAcceptable); } } // map not found else { response = PostMap(map); } } // remote write disabled else { response = Request.CreateResponse(HttpStatusCode.Forbidden); } return response; }
public HttpResponseMessage PostMap(MapObject map) { HttpResponseMessage response; // remote write enabled if (Minimap.MAPS_ALLOW_REMOTE_WRITE) { // add successful if (Minimap.MapManager().Add(map)) { response = Request.CreateResponse<MapObject>(HttpStatusCode.Created, map); // include resource location in response header string uri = Url.Link("DefaultApi", new { id = map.Id }); response.Headers.Location = new Uri(uri); } // add failed else { response = Request.CreateResponse(HttpStatusCode.NotAcceptable); } } // remote write disabled else { response = Request.CreateResponse(HttpStatusCode.Forbidden); } return response; }