Exemplo n.º 1
0
 public static void Deluminate(IIlluminator i)
 {
     foreach (Tile t in i.IlluminatedTiles)
     {
         if (t.Illuminators.Contains(i))
             t.Illuminators.Remove(i);
     }
 }
Exemplo n.º 2
0
        public static void Illuminate(IIlluminator i, List<Tile> adjacentTiles, List<Tile> illuminatedTiles, bool preserveLight = false)
        {
            if (adjacentTiles != null)
            {
                if (!preserveLight)
                {
                    foreach (Tile t in illuminatedTiles)
                    {
                        if (!adjacentTiles.Contains(t))
                        {
                            t.Illuminators.Remove(i);
                        }
                    }
                    illuminatedTiles.Clear();
                }

                foreach (var tile in adjacentTiles)
                {
                    illuminatedTiles.Add(tile);
                    if (!tile.Illuminators.Contains(i))
                        tile.Illuminators.Add(i);
                }
            }
        }