Exemple #1
0
        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);
            }
        }
Exemple #2
0
    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);
        }
    }