public static void CreatePropertyCard(Transform parent, Property property, Vector2 localPosition, Vector2 sizeDelta) { Street street = property.GetComponent <Street>(); GameObject cardObj = new GameObject("InventoryCard"); Image card = cardObj.AddComponent <Image>(); card.tag = "InventoryCard"; card.transform.SetParent(parent); card.rectTransform.sizeDelta = sizeDelta; card.rectTransform.localPosition = localPosition; cardObj.AddComponent <InventoryPropertyMouseInputUI>().property = property; Text title = new GameObject().AddComponent <Text>(); title.text = property.Title; title.fontSize = 6; title.color = Color.black; title.font = Resources.GetBuiltinResource <Font>("Arial.ttf"); title.alignment = TextAnchor.UpperCenter; title.transform.SetParent(card.transform); title.rectTransform.sizeDelta = new Vector2(card.rectTransform.sizeDelta.x * 4 / 5, card.rectTransform.sizeDelta.y / 6); title.rectTransform.localPosition = new Vector2(0f, 35f); if (!property.Mortgaged) { Text price = new GameObject().AddComponent <Text>(); price.text = "$" + property.Price; price.fontSize = 6; price.color = Color.black; price.font = Resources.GetBuiltinResource <Font>("Arial.ttf"); price.alignment = TextAnchor.UpperCenter; price.transform.SetParent(card.transform); price.rectTransform.sizeDelta = new Vector2(card.rectTransform.sizeDelta.x * 4 / 5, card.rectTransform.sizeDelta.y / 6); price.rectTransform.localPosition = new Vector2(0f, -40f); if (street != null) { Image streetColour = new GameObject("StreetColour").AddComponent <Image>(); streetColour.transform.SetParent(card.transform); streetColour.rectTransform.sizeDelta = new Vector2(card.rectTransform.sizeDelta.x, card.rectTransform.sizeDelta.y / 6); streetColour.rectTransform.localPosition = new Vector2(0f, card.rectTransform.sizeDelta.y / 2 - streetColour.rectTransform.sizeDelta.y / 2); streetColour.color = new Color(street.Colour.r, street.Colour.g, street.Colour.b, 1); title.rectTransform.localPosition = new Vector2(0f, 20f); //grays out street if not able to build house in house mode if (BuildHouseMode && !street.CanBuildHouse()) { DisableCard(cardObj); } } else if (property.GetComponent <Utility>() != null || property.GetComponent <RailwayStation>() != null) { Image icon = new GameObject("Icon").AddComponent <Image>(); icon.sprite = property.GetComponent <Tile>().Icon; icon.rectTransform.SetParent(card.transform); icon.rectTransform.localPosition = Vector2.zero; icon.rectTransform.sizeDelta = new Vector2(card.rectTransform.sizeDelta.x * 0.7f, card.rectTransform.sizeDelta.x * 0.7f); } } else { title.text = "MORTGAGED"; title.rectTransform.localPosition = Vector3.zero; } //grays out non-street properties if in house mode or if cant sell house, or if in payment menu and property mortgaged, or can't pay unmortgage cost if ((!TradingMode && ((BuildHouseMode && (street == null || street.Mortgaged)) || (!BuildHouseMode && street != null && !street.CanMortagage() && !street.Mortgaged && !street.CanSellHouse()) || (PaymentOptions.enabled == true && property.Mortgaged) || (property.Mortgaged && property.Owner.GetBalance() < property.UnMortgageCost))) || (TradingMode && street != null && street.Houses > 0)) { DisableCard(cardObj); } }