51 lines
1.2 KiB
C#
51 lines
1.2 KiB
C#
using CharacterSystem;
|
||
using PrizeSystem;
|
||
using UnityEngine;
|
||
|
||
public class PrizesSelector : MonoBehaviour
|
||
{
|
||
[SerializeField] RectTransform _addedPrizesTable;
|
||
[SerializeField] PrizeView _prizeViewPrefab;
|
||
|
||
[SerializeField] AvailablePrizesTable _availablePrizesTable;
|
||
|
||
private PrizeSet set;
|
||
|
||
public void Open(Character character)
|
||
{
|
||
print($"открыто с персонажем {character.CharacterIndex}");
|
||
gameObject.SetActive(true);
|
||
|
||
set = PrizeSystemManager.PrizeContainer.Sets[character.CharacterIndex];
|
||
UpdateView();
|
||
|
||
}
|
||
|
||
|
||
private void UpdateView()
|
||
{
|
||
ClearTable();
|
||
DisplayPrizeSet(set);
|
||
|
||
_availablePrizesTable.Refresh(set);
|
||
}
|
||
|
||
private void ClearTable()
|
||
{
|
||
for (int i = _addedPrizesTable.childCount - 1; i >= 0; i--)
|
||
{
|
||
var go = _addedPrizesTable.GetChild(i).gameObject;
|
||
Destroy(go);
|
||
}
|
||
}
|
||
|
||
private void DisplayPrizeSet(PrizeSet prizeSet)
|
||
{
|
||
foreach (var item in prizeSet.Prizes)
|
||
{
|
||
var view = Instantiate(_prizeViewPrefab, _addedPrizesTable);
|
||
view.SetPrize(item);
|
||
}
|
||
}
|
||
}
|