Example #1
0
    public void CreateGridFromMapFile(string mapFilePath = "Assets/Resources/Map.txt")
    {
        if (transform.childCount > 0)
        {
            return;
        }

        tileObjectSize = tilePrefabSize * transform.localScale.x;
        tileCollection.Initialize();

        StreamReader sr             = new StreamReader(mapFilePath);
        var          mapFileContent = sr.ReadToEnd();

        sr.Close();

        var mapFileLines = Regex.Split(mapFileContent, "\r\n|\r|\n");

        xSize = ySize = mapFileLines.Length;

        grid = new Tile[xSize, ySize];

        int x = 0;
        int y = 0;

        for (int i = ySize - 1; i >= 0; i--)
        {
            string row = mapFileLines[i];

            x = 0;
            foreach (var tileChar in row)
            {
                InstantiateTile(tileChar, x, y);

                x++;
            }
            y++;
        }
    }