46 lines
1016 B
C#
46 lines
1016 B
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);
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|