using System.Collections.Generic; using Newtonsoft.Json.Linq; using TMPro; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class Iconsmenu : MonoBehaviour { public GameObject iconsPanel; public GameObject overlaysPanel; public Button backButton; public Sprite defaultIcon; public Button placeholderButton; public TMP_Text selectionText; public Image previewBird; public Image previewOverlay; public Button[] icons; public Button[] overlays; public ColorPanel iconColorPanel; public ColorPanel overlayColorPanel; private void Start() { iconColorPanel.Init(BazookaManager.Instance.GetColorSettingIcon(), Color.white); iconColorPanel.OnColorChanged += color => { BazookaManager.Instance.SetColorSettingIcon(color); foreach (var icon in icons) { icon.transform.GetChild(0).GetComponent().color = new Color( int.Parse(color[0].ToString()) / 255f, int.Parse(color[1].ToString()) / 255f, int.Parse(color[2].ToString()) / 255f ); } }; overlayColorPanel.Init(BazookaManager.Instance.GetColorSettingOverlay(), Color.white); overlayColorPanel.OnColorChanged += color => { BazookaManager.Instance.SetColorSettingOverlay(color); foreach (var overlay in overlays) { var img = overlay.transform.GetChild(0).TryGetComponent(out var image) ? image : null; if (img == null) continue; img.color = new Color( int.Parse(color[0].ToString()) / 255f, int.Parse(color[1].ToString()) / 255f, int.Parse(color[2].ToString()) / 255f ); } }; defaultIcon = Tools.GetIconForUser(BazookaManager.Instance.GetAccountID() ?? 0); icons[0].transform.GetChild(0).GetComponent().sprite = defaultIcon; SwitchToIcon(); SelectOverlay(BazookaManager.Instance.GetBirdOverlay()); SelectIcon(BazookaManager.Instance.GetBirdIcon()); if (BazookaManager.Instance.GetBirdIcon() == 7) { SelectOverlay(0); placeholderButton.interactable = false; } placeholderButton.onClick.AddListener(ToggleKit); backButton.onClick.AddListener(async () => { await SceneManager.LoadSceneAsync("MainMenu"); }); previewBird.GetComponentInParent