using UnityEngine; using System.Collections; using System.Xml.Linq; using Model; using Storage; using System.IO; public class SceneLoaderController : MonoBehaviour { public TextAsset BackgroundLayer; public Sprite[] BackgroundTileSet; private Map map; private void LoadScene(Map map) { // Spawn objects foreach (var layer in map.Layers) { GameObject layerObject = new GameObject(layer.Name); for (int y = 0; y < layer.Height; y++) for (int x = 0; x < layer.Width; x++) { // Obtain tile int tileId = layer.Cells[y, x]; if (tileId >= 0) { // Spawn tile GameObject tileObject = new GameObject(string.Format("{0}{1}{2}", layer.Name, x, y)); tileObject.transform.parent = layerObject.transform; tileObject.transform.localPosition = new Vector3(x, -y, 0); var spriteRenderer = tileObject.AddComponent(); spriteRenderer.sprite = BackgroundTileSet[tileId]; spriteRenderer.sortingLayerName = layer.Name; } } } } // Use this for initialization void Start () { // Load map map = new Map(); MapLoader.LoadLayer(map, "Background", BackgroundLayer.text); LoadScene(map); } // Update is called once per frame void Update () { } }