Beispiel #1
0
        private void LoadLayer(Wz_Node layerNode, int level)
        {
            var layerSceneNode = (LayerNode)this.Scene.Layers.Nodes[level];

            //读取obj
            var objNode = layerNode.Nodes["obj"];

            if (objNode != null)
            {
                foreach (var node in objNode.Nodes)
                {
                    var item = ObjItem.LoadFromNode(node);
                    item.Name  = $"obj_{level}_{node.Text}";
                    item.Index = int.Parse(node.Text);

                    layerSceneNode.Obj.Slots.Add(item);
                }
            }

            //读取tile
            string tS       = layerNode.Nodes["info"]?.Nodes["tS"].GetValueEx <string>(null);
            var    tileNode = layerNode.Nodes["tile"];

            if (tS != null && tileNode != null)
            {
                foreach (var node in tileNode.Nodes)
                {
                    var item = TileItem.LoadFromNode(node);
                    item.TS    = tS;
                    item.Name  = $"tile_{level}_{node.Text}";
                    item.Index = int.Parse(node.Text);

                    layerSceneNode.Tile.Slots.Add(item);
                }
            }
        }