sega 8a6d23b77d Реорг Scripts
Разделено на 4 модуля
- Menu
- Gameplay
- Settings
- Common
2026-07-15 10:49:55 +03:00

47 lines
1.1 KiB
C#

using PrizeSystem;
using System;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class PrizeView : MonoBehaviour
{
[SerializeField] private Image _image;
[SerializeField] private TextMeshProUGUI _label;
[SerializeField] private List<PrizeImageMap> map;
[SerializeField] private Sprite defaultSprite;
public void SetPrize(Prize prize)
{
_image.sprite = GetImage(prize.PrizeType);
_label.text = GetText(prize);
_label.rectTransform.sizeDelta = new Vector2(_label.preferredWidth, _label.rectTransform.sizeDelta.y);
}
public void Clear()
{
_image.sprite = null;
_label.text = "";
}
private string GetText(Prize prize) => RulesPrizePanel.GetPrizeText(prize);
private Sprite GetImage(PrizeType prizeType)
{
foreach (var mapItem in map)
if (mapItem.prizeType == prizeType) return mapItem.sprite;
return defaultSprite;
}
[Serializable]
public struct PrizeImageMap
{
public PrizeType prizeType;
public Sprite sprite;
}
}