/// <summary> /// Loads this tilemap segment node from a given binary reader. /// </summary> /// <param name="reader">Binary reader to load this tilemap segment node from.</param> public override void Load(BinaryReader reader) { // Load all the basic entity details. base.Load(reader); // Load all the tilemap specific details. _width = reader.ReadInt32(); _height = reader.ReadInt32(); _tileWidth = reader.ReadInt16(); _tileHeight = reader.ReadInt16(); // Load in all the tileset in this map. _tileData = new TileNode[_width, _height]; for (int x = 0; x < _width; x++) { for (int y = 0; y < _height; y++) { _tileData[x, y] = new TileNode(); if (_tileData[x, y].Parent != null) { _tileData[x, y].Parent.RemoveChild(_tileData[x, y]); } _tileData[x, y].Parent = this; SceneGraph.AttachNode(_tileData[x, y]); _tileData[x, y].Load(reader); } } }