using System.Collections.Generic; using UnityEngine; public static class ShopUnlocks { static string Key(string shop) => $"ShopUnlocks_{shop}"; public static bool IsUnlocked(string id, string shop) { if (string.IsNullOrEmpty(id)) return false; var data = PlayerPrefs.GetString(Key(shop), ""); if (string.IsNullOrEmpty(data)) return false; var parts = data.Split(','); for (int i = 0; i < parts.Length; i++) if (parts[i] == id) return true; return false; } public static void Unlock(string id, string shop) { if (string.IsNullOrEmpty(id)) return; var list = new List(); var data = PlayerPrefs.GetString(Key(shop), ""); if (!string.IsNullOrEmpty(data)) list.AddRange(data.Split(',')); if (!list.Contains(id)) list.Add(id); PlayerPrefs.SetString(Key(shop), string.Join(",", list)); PlayerPrefs.Save(); } public static void EnsureUnlocked(string id, string shop) { if (!IsUnlocked(id, shop)) Unlock(id, shop); } public static void Reset(string shop) { PlayerPrefs.DeleteKey(Key(shop)); } }