using UnityEngine; using UnityEngine.UI; using System.Collections.Generic; using System; namespace vnxbqy.UI { public class MysticalQGSaleItem : MonoBehaviour { [SerializeField] Text originalPrice; [SerializeField] Image originalMoneyIcon; [SerializeField] Text presentPrice; [SerializeField] Image presentMoneyIcon; [SerializeField] Button buybtn; [SerializeField] Text saleTime; [SerializeField] Text zheText; [SerializeField] List itemBaiscs = new List(); MysticalQGModel.MysticalShop mysticalShop = null; StoreModel storeModel { get { return ModelCenter.Instance.GetModel(); } } MysticalQGModel qgModel { get { return ModelCenter.Instance.GetModel(); } } private void Awake() { buybtn.AddListener(ClickBuy); } private void OnEnable() { GlobalTimeEvent.Instance.secondEvent += UpdateSecond; } private void OnDisable() { GlobalTimeEvent.Instance.secondEvent -= UpdateSecond; } public void SetDisplay(MysticalQGModel.MysticalShop _mysticalShop) { this.mysticalShop = _mysticalShop; originalPrice.text = mysticalShop.storeConfig.MoneyOriginal.ToString(); presentPrice.text = mysticalShop.storeConfig.MoneyNumber.ToString(); originalMoneyIcon.SetIconWithMoneyType(mysticalShop.storeConfig.MoneyType); presentMoneyIcon.SetIconWithMoneyType(mysticalShop.storeConfig.MoneyType); int remianTime = mysticalShop.GetRemainSellTime(); saleTime.text = Language.Get("MysticalQG101", TimeUtility.SecondsToHMS(remianTime)); float zhe = ((float)mysticalShop.storeConfig.MoneyNumber / mysticalShop.storeConfig.MoneyOriginal) * 10; zheText.text = Language.Get("MysticalQG102", (float)Math.Round(zhe, 1)); var items = storeModel.GetShopItemlistByIndex(mysticalShop.storeConfig); for(int i = 0; i < itemBaiscs.Count; i++) { var itemBaisc = itemBaiscs[i]; if(i < items.Count) { var itemInfo = items[i]; itemBaisc.SetActive(true); ItemCellModel cellModel = new ItemCellModel(itemInfo.itemId,false, (ulong)itemInfo.count); itemBaisc.Init(cellModel); itemBaisc.button.RemoveAllListeners(); itemBaisc.button.AddListener(()=> { ItemTipUtility.Show(itemInfo.itemId); }); } else { itemBaisc.SetActive(false); } } } private void UpdateSecond() { if (mysticalShop == null) return; int remianTime = mysticalShop.GetRemainSellTime(); saleTime.text = Language.Get("MysticalQG101", TimeUtility.SecondsToHMS(remianTime)); if (remianTime <= 0) { qgModel.UpdateSellTimeEnd(); } } private void ClickBuy() { if (mysticalShop == null) return; ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("MysticalQG104", mysticalShop.storeConfig.MoneyNumber) , (bool isOk) => { if (isOk) { if(mysticalShop.GetRemainSellTime() > 0) { storeModel.SendBuyShopItem(this.mysticalShop.storeConfig, 1); } else { ServerTipDetails.DisplayNormalTip(Language.Get("MysticalQG105")); } } }); } } }