Ejemplo n.º 1
0
    private async void Start()
    {
        try
        {
            var response = await ApiWrapper.GamePrices();

            var propertyPricesArray = (JArray)response["properties"];
            propertiesList = new List <PropertyCard>(propertyPricesArray.Count);
            stationsList   = new List <StationCard>(propertyPricesArray.Count);
            utilitiesList  = new List <UtilityCard>(propertyPricesArray.Count);
            foreach (var property in propertyPricesArray)
            {
                var propertyName = property["name"].ToString();
                var color        = property["color"]?.ToString();
                var location     = (int)property["location"];
                var rents        = ((JArray)property["rents"]).Select(rent => (int)rent).ToArray();
                var mortgage     = (int)property["mortgage"];

                var type = (int)property["type"];
                switch (type)
                {
                case 0:
                {
                    var houseCosts = (JArray)response["houses"];

                    var houseCost = (int)houseCosts[location / 10];

                    var card = new PropertyCard(propertyName, color, location, rents, houseCost, mortgage);
                    propertiesList.Add(card);
                    break;
                }

                case 1:
                {
                    var card = new StationCard(propertyName, location, rents, mortgage);
                    stationsList.Add(card);
                    break;
                }

                default:
                {
                    var card = new UtilityCard(propertyName, location, rents, mortgage);
                    utilitiesList.Add(card);
                    break;
                }
                }
            }
        }
        catch (Exception e)
        {
            Debug.Log(e); // TODO: Show error to player
        }
    }
Ejemplo n.º 2
0
    private void Start()
    {
        APIWrapper.Instance.GamePrices((response, error) =>
        {
            if (error == null)
            {
                var propertyPricesArray = (JArray) response["properties"];
                propertiesList = new List<PropertyCard>(propertyPricesArray.Count);
                stationsList = new List<StationCard>(propertyPricesArray.Count);
                utilitiesList = new List<UtilityCard>(propertyPricesArray.Count);
                foreach (var property in propertyPricesArray)
                {
                    var name = property["name"].ToString();
                    var color = property["color"]?.ToString();
                    var location = (int) property["location"];
                    var rents = ((JArray) property["rents"]).Select(rent => (int) rent).ToArray();
                    var mortgage = (int) property["mortgage"];

                    var type = (int) property["type"];
                    switch (type)
                    {
                        case 0:
                        {
                            var houseCosts = (JArray) response["houses"];
                        
                            var houseCost = (int) houseCosts[location / 10];
                            
                            var card = new PropertyCard(name, color, location, rents, houseCost, mortgage);
                            propertiesList.Add(card);
                            break;
                        }
                        case 1:
                        {
                            var card = new StationCard(name, location, rents, mortgage);
                            stationsList.Add(card);
                            break;
                        }
                        default:
                        {
                            var card = new UtilityCard(name, location, rents, mortgage);
                            utilitiesList.Add(card);
                            break;
                        }
                    }
                }
            }
            else
            {
                throw new Exception(error);
            }
        });
    }
Ejemplo n.º 3
0
    public IEnumerator DisplayCard(int location)
    {
        if (GameManager.Instance.Game.CurrentPlayerId == AuthenticationManager.Instance.user.Id)
        {
            _buy.SetActive(true);
            _abandon.SetActive(true);
        }

        if (location == 5 || location == 15 || location == 25 || location == 35)
        {
            List <StationCard> stationCards = _cardLoader.stationsList;
            StationCard        stationCard  = stationCards[0];
            foreach (StationCard card in stationCards)
            {
                if (card.location == location)
                {
                    stationCard = card;
                }
            }
            _cards.SetActive(true);
            GameObject stCard = _cardsList[1];
            stCard.SetActive(true);
            stCard.transform.Find("Name").gameObject.GetComponent <TextMeshProUGUI>().text = stationCard.name;
            for (int i = 0; i < stationCard.rents.Length; i++)
            {
                stCard.transform.Find("Rent" + i).gameObject.GetComponent <TextMeshProUGUI>().text =
                    stationCard.rents[i].ToString();
            }
            stCard.transform.Find("MortgageText").gameObject.GetComponent <TextMeshProUGUI>().text = stationCard.mortgage.ToString();
        }
        else if (location == 12)
        {
            List <UtilityCard> utilityCards = _cardLoader.utilitiesList;
            UtilityCard        utilityCard  = utilityCards[0];
            _cards.SetActive(true);
            GameObject uCard1 = _cardsList[2];
            uCard1.SetActive(true);
            uCard1.transform.Find("MortgageText").gameObject.GetComponent <TextMeshProUGUI>().text = utilityCard.mortgage.ToString();
        }
        else if (location == 28)
        {
            List <UtilityCard> utilityCards = _cardLoader.utilitiesList;
            UtilityCard        utilityCard  = utilityCards[0];
            _cards.SetActive(true);
            GameObject uCard2 = _cardsList[3];
            uCard2.SetActive(true);
            uCard2.transform.Find("MortgageText").gameObject.GetComponent <TextMeshProUGUI>().text = utilityCard.mortgage.ToString();
        }
        else
        {
            List <PropertyCard> propertyCards = _cardLoader.propertiesList;
            PropertyCard        propertyCard  = propertyCards[0];
            foreach (PropertyCard card in propertyCards)
            {
                if (card.location == location)
                {
                    propertyCard = card;
                }
            }
            _cards.SetActive(true);
            foreach (GameObject card in _cardsList)
            {
                if (card.name != "PropertyCard")
                {
                    card.SetActive(false);
                }
                else
                {
                    card.SetActive(true);
                    Color color;
                    ColorUtility.TryParseHtmlString("#" + propertyCard.color, out color);
                    card.transform.Find("Colour").gameObject.GetComponent <Image>().color        = color;
                    card.transform.Find("Name").gameObject.GetComponent <TextMeshProUGUI>().text = propertyCard.name;
                    for (int i = 0; i < propertyCard.rents.Length; i++)
                    {
                        card.transform.Find("Rent" + i).gameObject.GetComponent <TextMeshProUGUI>().text =
                            propertyCard.rents[i].ToString();
                    }
                    card.transform.Find("BookCostText").gameObject.GetComponent <TextMeshProUGUI>().text   = propertyCard.houseCost.ToString();
                    card.transform.Find("DegreeCostText").gameObject.GetComponent <TextMeshProUGUI>().text =
                        propertyCard.houseCost.ToString();
                    card.transform.Find("MortgageText").gameObject.GetComponent <TextMeshProUGUI>().text = propertyCard.mortgage.ToString();
                }
            }
        }
        yield return(new WaitForSeconds(5f));

        Abandon();
    }