/
dedikins
/
Clicker
Обзор
Документация
Войти
/
dedikins
/
Clicker
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Assets/Scripts/SkinManager.cs
74 строки
2 KB
dedikins
Добавление звуков
27 май 2026, 01:14
27 май 2026, 01:14
3d25365
Код
Авторство
О чём код?
using UnityEngine; using UnityEngine.UI; public class SkinManager : MonoBehaviour { public static SkinManager Instance; [SerializeField] private Image clickImage; [SerializeField] private Sprite[] skins; [SerializeField] private GameObject[] selectButtons; private void Awake() { Instance = this; } private void Start() { Refresh(); } public void BuySkin(int id) { int[] prices = { 500, 1000, 2500, 5000 }; int price = prices[id - 1]; if (!GameManager.Instance.SpendCoins(price)) return; PlayerPrefs.SetInt($"Skin{id}", 1); AudioManager.Instance?.PlaySkin(); GameManager.Instance.CheckAchievementsManually(); GameManager.Instance.SendMessage( "CheckAchievements", SendMessageOptions.DontRequireReceiver); SelectSkin(id); Refresh(); } public void SelectSkin(int id) { if (id > 0 && PlayerPrefs.GetInt($"Skin{id}", 0) == 0) return; PlayerPrefs.SetInt("SelectedSkin", id); Refresh(); } public void Refresh() { int selected = PlayerPrefs.GetInt("SelectedSkin", 0); if (selected >= 0 && selected < skins.Length) clickImage.sprite = skins[selected]; for (int i = 0; i < selectButtons.Length; i++) { bool owned = PlayerPrefs.GetInt($"Skin{i + 1}", 0) == 1; selectButtons[i].SetActive(owned); } } }