/// <summary> /// Checks if a given tile in the given direction flag is empty, /// and adds the direction flag to the adjacency flag if it is. /// </summary> /// <param name="_tile"></param> /// <param name="_direction"></param> public void CheckAdjacent(Tile _tile, AdjacentFlag _direction) { if (_tile == null || _tile.Type == TileType.Empty) { AddAdjacentFlag(_direction); } }
/// <summary> /// Add a given flag to the tiles adjacent flags. /// </summary> /// <param name="_flag"></param> private void AddAdjacentFlag(AdjacentFlag _flag) { Adjacent &= ~AdjacentFlag.None; Adjacent |= _flag; }
/// <summary> /// Checks if the tile has the given adjacent flags. /// </summary> /// <param name="_flag"></param> /// <returns></returns> public bool HasAdjacentFlags(AdjacentFlag _flag) { return((Adjacent & _flag) == _flag); }