示例#1
0
        public TMXLayer(XmlNode layerNode, int layerIndex)
            : base(layerNode)
        {
            Name = GetValue(TMXKeywords.NAME);
            Width = GetValue<int>(TMXKeywords.WIDTH);
            Height = GetValue<int>(TMXKeywords.HEIGHT);
            Index = layerIndex;

            Properties = new TMXProperties();
            Data = new int[Width, Height];

            foreach (XmlNode node in layerNode)
            {
                if (node.Name == TMXKeywords.PROPERTIES) Properties = new TMXProperties(node);
                if (node.Name == TMXKeywords.DATA) ProccesData(node);
            }
        }
示例#2
0
        public override void Load(LoadManager content)
        {
            base.Load(content);

            XmlDocument tiledDocument = new XmlDocument();
            tiledDocument.Load(mPath);

            XmlNode mapNode = tiledDocument.SelectSingleNode("/map");

            MapProperties = new TMXMapProperties(mapNode);
            Layers = new List<TMXLayer>();
            TileSets = new List<TMXTileSet>();

            foreach (XmlNode node in mapNode)
            {
                if (node.Name == TMXKeywords.TILES_SET) TileSets.Add(new TMXTileSet(node));
                if (node.Name == TMXKeywords.LAYER) Layers.Add(new TMXLayer(node, Layers.Count));
                if (node.Name == TMXKeywords.PROPERTIES) Properties = new TMXProperties(node);
            }
        }