using System; using System.Collections.Generic; using Data; using HK; using TMPro; using UnityEngine; using UnityEngine.UI; namespace Runtime.UI { public class Setting_Monetary : MonoBehaviour { [SerializeField] TMP_InputField inpMonetary; [SerializeField] private Setting_Monetary_NoteBookInformationItem notebookPfb; [SerializeField] Button btnSubmit; List notebookList = new List(); private void Awake() { // TODO:读取本地持久化数据,如果持久化数据不存在,则使用Excel数据进行填充。存在则使用本地数据 foreach (var data in ExcelManager.NoteBookInformation.Datas.NoteBookInformationList) { var item = GameObject.Instantiate(notebookPfb, notebookPfb.transform.parent); item.gameObject.SetActive(true); var bookPrice = $"{data.GetType().Name}_{data.ID}_{data.BookPrice}"; if (!PlayerPersistent.HasKey(bookPrice)) { PlayerPersistent.SetInt(bookPrice, data.BookPrice); } else { data.BookPrice = PlayerPersistent.GetInt(bookPrice); } var designPrice = $"{data.GetType().Name}_{data.ID}_{data.DesignPrice}"; if (!PlayerPersistent.HasKey(designPrice)) { PlayerPersistent.SetInt(designPrice, data.DesignPrice); } else { data.DesignPrice = PlayerPersistent.GetInt(designPrice); } var discountPrice = $"{data.GetType().Name}_{data.ID}_{data.DiscountPrice}"; if (!PlayerPersistent.HasKey(discountPrice)) { PlayerPersistent.SetInt(discountPrice, data.DiscountPrice); } else { data.DiscountPrice = PlayerPersistent.GetInt(discountPrice); } item.SetData(data); notebookList.Add(item); } var monetary = $"monetary"; if (!PlayerPersistent.HasKey(monetary)) { PlayerPersistent.SetString(monetary, ShoppingCartManager.Instance.ShoppingCart.monetary); } inpMonetary.text = PlayerPersistent.GetString(monetary); btnSubmit.onClick.AddListener(Submit); } private void Submit() { ShoppingCartManager.Instance.ShoppingCart.monetary = inpMonetary.text; PlayerPersistent.SetString("monetary", inpMonetary.text); // 保存 foreach (var item in notebookList) { item.SaveData(); } gameObject.SetActive(false); } } }