50 lines
1.6 KiB
C#
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;
|
|
}
|
|
}
|