private void CreatePolygons(ObjectGroup objectGroup) { foreach (var tiledObject in objectGroup.TiledObjects) { if (tiledObject.Polygon != null) { var pointArr = tiledObject.Polygon.Points.Split(' '); var vectorArray = new Vec2[pointArr.Length]; for (var i = 0; i < pointArr.Length; i++) { var pointCoords = pointArr[i].Split(','); vectorArray[i] = new Vec2( float.Parse(pointCoords[0], CultureInfo.InvariantCulture.NumberFormat), float.Parse(pointCoords[1], CultureInfo.InvariantCulture.NumberFormat)); } uint polyColor = 0; if (tiledObject.Properties != null) { foreach (var property in tiledObject.Properties) { if (property.Property.Name.ToLower() == "colour" || property.Property.Name.ToLower() == "color") { polyColor = Convert.ToUInt32(property.Property.Value, 16) + 0xFF000000; } } var poly = new Polygon(vectorArray, polyColor, this, tiledObject.ID, tiledObject.X, tiledObject.Y); poly.SetXY(tiledObject.X, tiledObject.Y); _polyList.Add(poly); } } } }
public void RemovePoly(Polygon poly) { poly.Destroy(); _polyList.Remove(poly); Redraw(); }