using UnityEngine; using UnityEngine.UI; public class CosmeticItem : MonoBehaviour { [SerializeField] private Sprite[] RaritySprites; [SerializeField] private Sprite[] PopUpRaritySprites; [SerializeField] private Image BackgroundImage; [SerializeField] private Text ItemNameText; [SerializeField] private Text ItemPriceText; [SerializeField] private Text LevelText; [SerializeField] private Text RequireLevelText; [SerializeField] private GameObject PopUpPrefab; public GameObject LevelTextGameObject; public Image ItemImage; [HideInInspector] public string rarity; [HideInInspector] public string ItemName; [HideInInspector] public float ItemPrice; [HideInInspector] public int Itemlevel; private CharCreationUIManager charCreation; [SerializeField] private GameObject[] ItemPanels; public GameObject LockedBackground; private void Start() { charCreation = Object.FindObjectOfType(); BackgroundImage.sprite = GetBackgroundSprite(); ItemNameText.text = ItemName; ItemPriceText.text = "$" + ItemPrice; LevelText.text = Itemlevel.ToString(); RequireLevelText.text = RequireLevelText.text.Replace("%item::level%", Itemlevel.ToString()); ItemPanels[0].SetActive(value: true); } private void Update() { } public void ShowLargeRender() { if (!charCreation.RenderPopUp) { CosmeticRenderPopup component = Object.Instantiate(PopUpPrefab, charCreation.PopUpTransform).GetComponent(); component.backgroundImage.sprite = GetBackgroundPopUpSprite(); component.renderImage.sprite = ItemImage.sprite; charCreation.RenderPopUp = component.gameObject; } } private Sprite GetBackgroundSprite() { return rarity switch { "Common" => RaritySprites[0], "Rare" => RaritySprites[1], "Epic" => RaritySprites[2], "Legendary" => RaritySprites[3], _ => null, }; } private Sprite GetBackgroundPopUpSprite() { return rarity switch { "Common" => PopUpRaritySprites[0], "Rare" => PopUpRaritySprites[1], "Epic" => PopUpRaritySprites[2], "Legendary" => PopUpRaritySprites[3], _ => null, }; } }