private void SetHotel(TileEnum tile, HotelEnum hotel) { if (hotel.IsHotel()) { // If the Tile was already a Hotel then decrement that Hotel if (Model.Board[(int)tile].Hotel.IsHotel()) { Model.Hotels[(int)Model.Board[(int)tile].Hotel].TileCount--; } Model.Hotels[(int)hotel].TileCount++; } Model.Board[(int)tile].Hotel = hotel; }
private void ExpandTiles(List <TileEnum> tiles, HotelEnum hotel) { List <TileEnum> changed = new List <TileEnum>(); foreach (var i in tiles) { if (Model.Board[(int)i].Hotel == HotelEnum.Used) { SetHotel(i, hotel); changed.Add(Model.Board[(int)i].Index); } } CheckForNonPlayable(); foreach (var item in changed) { var adjacentTiles = GetAdjacent(item); ExpandTiles(adjacentTiles, hotel); } }
public static bool IsHotel(this HotelEnum item) { return(item != HotelEnum.NotUsed && item != HotelEnum.Used && item != HotelEnum.NotPlayable); }