예제 #1
0
        /// <summary>
        /// Returns a collection of MapObjects inside the given region
        /// </summary>
        /// <param name="objectLayerID">The object layer to check</param>
        /// <param name="region">The region, in pixles, to check</param>
        /// <returns>Collection of matching MapObjects</returns>
        public IEnumerable <MapObject> GetObjectsInRegion(Int32 objectLayerID, ref System.Drawing.RectangleF region)
        {
            List <MapObject> results = new List <MapObject>();

            for (int i = 0; i < this.ObjectLayers[objectLayerID].MapObjects.Length; i++)
            {
                if (region.Contains(RecToRecF(this.ObjectLayers[objectLayerID].MapObjects[i].Bounds)) || region.Intersects(RecToRecF(this.ObjectLayers[objectLayerID].MapObjects[i].Bounds)))
                {
                    results.Add(this.ObjectLayers[objectLayerID].MapObjects[i]);
                }
            }

            return(results);
        }