public static void SetUpTiles() { _gameTiles[0] = new GoTile(); _gameTiles[1] = new RealEstateTile(); _gameTiles[2] = new CardDeckTile(); _gameTiles[3] = new RealEstateTile(); _gameTiles[4] = new TaxTile(); _gameTiles[5] = new RailroadTile(); _gameTiles[6] = new RealEstateTile(); _gameTiles[7] = new CardDeckTile(); _gameTiles[8] = new RealEstateTile(); _gameTiles[9] = new RealEstateTile(); _gameTiles[10] = new InJailTile(); _gameTiles[11] = new RealEstateTile(); _gameTiles[12] = new UtilityTile(); _gameTiles[13] = new RealEstateTile(); _gameTiles[14] = new RealEstateTile(); _gameTiles[15] = new RailroadTile(); _gameTiles[16] = new RealEstateTile(); _gameTiles[17] = new CardDeckTile(); _gameTiles[18] = new RealEstateTile(); _gameTiles[19] = new RealEstateTile(); _gameTiles[20] = new FreeParkingTile(); _gameTiles[21] = new RealEstateTile(); _gameTiles[22] = new CardDeckTile(); _gameTiles[23] = new RealEstateTile(); _gameTiles[24] = new RealEstateTile(); _gameTiles[25] = new RailroadTile(); _gameTiles[26] = new RealEstateTile(); _gameTiles[27] = new RealEstateTile(); _gameTiles[28] = new UtilityTile(); _gameTiles[29] = new RealEstateTile(); _gameTiles[30] = new GoToJailTile(); _gameTiles[31] = new RealEstateTile(); _gameTiles[32] = new RealEstateTile(); _gameTiles[33] = new CardDeckTile(); _gameTiles[34] = new RealEstateTile(); _gameTiles[35] = new RailroadTile(); _gameTiles[36] = new CardDeckTile(); _gameTiles[37] = new RealEstateTile(); _gameTiles[38] = new TaxTile(); _gameTiles[39] = new RealEstateTile(); for (int n = 0; n < 40; n++) { var tileInformationHolder = TileInformation.GetTileInformation(n); _gameTiles[n].SetUpTile(tileInformationHolder.Item1, tileInformationHolder.Item2, tileInformationHolder.Item3, tileInformationHolder.Item4, tileInformationHolder.Item5); } }
public static void EndOfRollOptions() { Tile tile = CurrentPlayer.Position; Property property = tile.GetComponent <Property>(); ChanceTile chance = tile.GetComponent <ChanceTile>(); //FreeParking parking = tile.GetComponent<FreeParking>(); SandLTile sAndL = tile.GetComponent <SandLTile>(); PaymentTile paymentTile = tile.GetComponent <PaymentTile>(); GoToJailTile goToJail = tile.GetComponent <GoToJailTile>(); if (property != null) { //check if the player stepped on an unowned/mortgaged/their own property if (property.Owner == null || property.Owner == CurrentPlayer || (property.Mortgaged && property.Owner != CurrentPlayer)) { MenuManager.SwitchToMenuWithInventory(MenuManager.EndOfTurnOptions); } else { PlayerMustPay(property.PaymentPrice()); } //display current property MenuManager.UpdateCardInfo(CurrentPlayer.Position.GetComponent <Property>()); } else if (chance != null || sAndL != null) { if (chance != null) { _activeCard = ChanceDeck.DrawCard(); } else if (sAndL != null) { if (UnityEngine.Random.Range(0f, 1f) < 0.5f) { _activeCard = new Snake(); } else { _activeCard = new Ladder(); } } //adds card to player's inventory CurrentPlayer.AddCard(ActiveCard); MenuManager.SwitchToMenuWithInventory(MenuManager.CardOptions); //pop up to show which card is drawn MenuManager.UpdateCardInfo(ActiveCard); } else if (paymentTile != null) { MenuManager.SwitchToMenuWithInventory(MenuManager.PaymentTileOptions); } else if (goToJail != null) // if on go to jail tile { //create new card, uses it, deletes it _activeCard = new CardMove("Go to Jail - Go directly to Jail - Do not pass Go, do not collect $200", EnumsForCards.cardMove.goToJail); CurrentPlayer.AddCard(ActiveCard); MenuManager.SwitchToMenuWithInventory(MenuManager.CardOptions); MenuManager.UpdateCardInfo(ActiveCard); ChanceDeck.DeleteLastCard(); } else { MenuManager.SwitchToMenuWithInventory(MenuManager.EndOfTurnOptions); } }