Esempio n. 1
0
        public List <TDTile> FindAdjacentFlammableTiles(TDTile tile)
        {
            List <TDTile> adjacentFlammable = new List <TDTile> ();
            List <TDTile> allAdjacent       = GetAdjacentTiles(tile);

            for (int i = 0; i < allAdjacent.Count; i++)
            {
                TDTile other = allAdjacent[i];
                if (other.IsFlammable())
                {
                    adjacentFlammable.Add(other);
                }
            }

            return(adjacentFlammable);
        }
Esempio n. 2
0
        int ReadInMap(string[] splitLevelData)
        {
            string mapSize = splitLevelData [0];

            string[] mapSizes = mapSize.Split(VALUE_DELIMITER);
            mapWidth  = int.Parse(mapSizes [0]);
            mapHeight = int.Parse(mapSizes [1]);
            int offset = 1;            //Read one line for width and height

            tiles = new TDTile[mapWidth, mapHeight];
            int flamableCount = 0;

            for (int y = offset; y < mapHeight + offset; y++)
            {
                string mapRowData = splitLevelData[y];
                for (int x = 0; x < mapWidth; x++)
                {
                    TDTile tile = new TDTile(x, y - offset);
                    tile.type = TDTile.GetTypeForString(mapRowData[x].ToString());
                    if (tile.type == TDTile.Type.FIREHOUSE)
                    {
                        firehouseLocation = new Vector2(x, y - offset);
                    }

                    if (tile.IsFlammable())
                    {
                        flamableCount++;
                        float tileDurability = tile.durability;
                        totalDurability += tileDurability;
                    }

                    tiles[x, y - offset] = tile;
                }
            }

            return(mapHeight + offset);
        }