Exemple #1
0
        /// <summary>
        ///     Gets tiles in random directions from the given one.
        /// </summary>
        /// <returns>An enumerable of the adjacent tiles.</returns>
        public static IEnumerable <TileRef> AdjacentTilesRandom(this GridCoordinates coordinates, bool ignoreSpace = false)
        {
            var mapManager = IoCManager.Resolve <IMapManager>();

            foreach (var direction in RandomDirections())
            {
                var adjacent = coordinates.Offset(direction).GetTileRef();

                if (adjacent == null)
                {
                    continue;
                }

                if (ignoreSpace && adjacent.Value.Tile.IsEmpty)
                {
                    continue;
                }

                yield return(adjacent.Value);
            }
        }
Exemple #2
0
 public static GridCoordinates Offset(this GridCoordinates coordinates, Direction direction)
 {
     return(coordinates.Offset(direction.ToVec()));
 }