public TreeCheckBoxNode(ObjectLayer.GameObject gameObject, ObjectLayer layer) { this.gameObject = gameObject; this.layer = layer; this.Text = gameObject.name; this.Name = "" + gameObject.gid; }
public void rebuildObjectLayerImage(ObjectLayer layer) { layer.image.Dispose(); int width = mapWidth * tileWidth; int height = mapHeight * tileHeight; Image img = new Bitmap(width, height, PixelFormat.Format32bppPArgb); Graphics g = Graphics.FromImage(img); foreach (ObjectLayer.GameObject gameObj in layer.gameObjects) { if (gameObj.display) { if (gameObj.gid == -1) { g.DrawRectangle(Pens.Firebrick, gameObj.getRect()); } else { g.DrawImage(imageDict[gameObj.gid], new Point(gameObj.x, gameObj.y)); } } } if (!Directory.Exists(layerImageDir)) { Directory.CreateDirectory(layerImageDir); } String outputFileName = layerImageDir + name + "_" + layer.getName() + " Layer.png"; using (MemoryStream memory = new MemoryStream()) { using (FileStream fs = new FileStream(outputFileName, FileMode.Create, FileAccess.ReadWrite)) { img.Save(memory, ImageFormat.Png); byte[] bytes = memory.ToArray(); fs.Write(bytes, 0, bytes.Length); } } layer.image = Image.FromFile(outputFileName); g.Dispose(); img.Dispose(); }
private void loadLayerData() { layers = new List <Layer>(); foreach (XmlNode node in tmx.GetElementsByTagName("map")[0].ChildNodes) { switch (node.Name) { case "layer": layers.Add(new TileLayer(node)); break; case "objectgroup": ObjectLayer newLayer = new ObjectLayer(node); layers.Add(newLayer); if (newLayer.name == "NPC") { NPCLayer = newLayer; } break; } } }