Ejemplo n.º 1
0
 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();
 }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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;
        }