Files
badeend-go/Assets/CollectedStickersUI.cs

50 lines
1.6 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CollectedStickersUI : MonoBehaviour
{
public Transform collectedStickerParent;
public StickerDisplay stickerDisplayPrefab;
public StickerZoomDisplay stickerZoomDisplay;
private readonly Dictionary<DuckStickerData, StickerDisplay> _stickerDisplays = new Dictionary<DuckStickerData, StickerDisplay>();
private void Start()
{
RefreshStickerDisplay();
stickerZoomDisplay.Hide();
}
public void OnStickerCollected(DuckStickerData sticker)
{
RefreshStickerDisplay();
}
private void RefreshStickerDisplay()
{
var collectedStickers = DuckStickerManager.Instance.CollectedStickers;
foreach (var sticker in collectedStickers)
{
if (!_stickerDisplays.ContainsKey(sticker))
{
var stickerDisplay = Instantiate(stickerDisplayPrefab, collectedStickerParent);
stickerDisplay.Sticker = sticker;
stickerDisplay.StickerClicked += (sender, obj) =>
{
stickerZoomDisplay.Sticker = obj;
stickerZoomDisplay.Show();
};
_stickerDisplays.Add(sticker, stickerDisplay);
}
_stickerDisplays[sticker].CollectedCount = DuckStickerManager.Instance.GetStickerCollectedCount(sticker);
}
}
public void OnCloseClicked()
{
BadeendGoGameManager.Instance.GameState = GameState.Map;
}
}