| | |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | using EnhancedUI.EnhancedScroller; |
| | | using Snxxz.UI; |
| | | using TableConfig; |
| | | |
| | | public class DungeonLiquidCell : ScrollerUI |
| | | { |
| | | [SerializeField] Transform m_ContainerUp; |
| | | [SerializeField] Text m_ExpUpper; |
| | | [SerializeField] Image m_UpperIcon; |
| | | [SerializeField] Transform m_ContainerBuy; |
| | | [SerializeField] Text m_Cost; |
| | | [SerializeField] Image m_ItemBG; |
| | | [SerializeField] Image m_ItemIcon; |
| | | [SerializeField] Image m_MoneyIcon; |
| | | [SerializeField] Text m_ItemCount; |
| | | [SerializeField] Button m_FuncBtn; |
| | | [SerializeField] Button m_ItemBtn; |
| | | [SerializeField] Text m_BtnTxt; |
| | | [SerializeField] Transform m_ContainerUse; |
| | | |
| | | DungeonLiquidModel m_Model; |
| | | DungeonLiquidModel model |
| | | { |
| | | get |
| | | { |
| | | return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonLiquidModel>()); |
| | | } |
| | | } |
| | | |
| | | PlayerBuffDatas m_BuffModel; |
| | | PlayerBuffDatas Buffmodel |
| | | { |
| | | get |
| | | { |
| | | return m_BuffModel ?? (m_BuffModel = ModelCenter.Instance.GetModel<PlayerBuffDatas>()); |
| | | } |
| | | } |
| | | |
| | | StoreModel _storeModel; |
| | | StoreModel m_storeModel |
| | | { |
| | | get { return _storeModel ?? (_storeModel = ModelCenter.Instance.GetModel<StoreModel>()); } |
| | | } |
| | | |
| | | public override void Refresh(CellView cell) |
| | | { |
| | | int index = cell.index; |
| | | if (model.IsBagHasLiquid) |
| | | { |
| | | if (index < model.liquidItemList.Count) |
| | | { |
| | | ItemModel itemModel = model.liquidItemList[index]; |
| | | ItemConfig cfg = ConfigManager.Instance.GetTemplate<ItemConfig>((int)itemModel.itemInfo.ItemID); |
| | | m_ItemIcon.SetSprite(cfg.IconKey); |
| | | m_ItemBG.SetItemBackGround(cfg.ItemColor); |
| | | if (itemModel.itemInfo.ItemCount > 1) |
| | | { |
| | | m_ItemCount.gameObject.SetActive(true); |
| | | m_ItemCount.text = itemModel.itemInfo.ItemCount.ToString(); |
| | | } |
| | | else |
| | | { |
| | | m_ItemCount.gameObject.SetActive(false); |
| | | } |
| | | |
| | | if (Buffmodel._BuffDic.ContainsKey(cfg.AddSkill1)) |
| | | { |
| | | m_ContainerUp.gameObject.SetActive(false); |
| | | m_ContainerUse.gameObject.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | | m_ContainerUse.gameObject.SetActive(false); |
| | | m_ContainerUp.gameObject.SetActive(true); |
| | | m_ContainerUp.transform.localPosition = m_ContainerUp.transform.localPosition.SetY(0); |
| | | SkillConfig skillCfg = ConfigManager.Instance.GetTemplate<SkillConfig>(cfg.AddSkill1); |
| | | m_ExpUpper.text = Language.Get("FairyLand_Func24", skillCfg.EffectValue11 / 100); |
| | | var _buffId = 0; |
| | | m_UpperIcon.gameObject.SetActive(true); |
| | | if (UseLiquid(out _buffId)) |
| | | { |
| | | var currentSkillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(_buffId); |
| | | if (currentSkillConfig.EffectValue11 >= skillCfg.EffectValue11) |
| | | { |
| | | m_UpperIcon.gameObject.SetActive(false); |
| | | } |
| | | } |
| | | } |
| | | m_ContainerBuy.gameObject.SetActive(false); |
| | | |
| | | m_BtnTxt.text = Language.Get("FairyLand_Func25"); |
| | | m_FuncBtn.onClick.RemoveAllListeners(); |
| | | m_FuncBtn.onClick.AddListener(() => |
| | | { |
| | | OnUseItemClick(itemModel); |
| | | }); |
| | | |
| | | m_ItemBtn.onClick.RemoveAllListeners(); |
| | | m_ItemBtn.onClick.AddListener(() => |
| | | { |
| | | OnItemClick(itemModel); |
| | | }); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (index < model.liquidStoreConfigs.Count) |
| | | { |
| | | StoreConfig storeModel = model.liquidStoreConfigs[index]; |
| | | ItemConfig cfg = ConfigManager.Instance.GetTemplate<ItemConfig>(storeModel.ItemID); |
| | | m_ItemIcon.SetSprite(cfg.IconKey); |
| | | m_ItemBG.SetItemBackGround(cfg.ItemColor); |
| | | m_ItemCount.gameObject.SetActive(false); |
| | | m_MoneyIcon.SetIconWithMoneyType(storeModel.MoneyType); |
| | | m_ContainerUp.transform.localPosition = m_ContainerUp.transform.localPosition.SetY(25); |
| | | SkillConfig skillCfg = ConfigManager.Instance.GetTemplate<SkillConfig>(cfg.AddSkill1); |
| | | m_ExpUpper.text = Language.Get("FairyLand_Func24", skillCfg.EffectValue11 / 100); |
| | | |
| | | m_ContainerUp.gameObject.SetActive(true); |
| | | var _buffId = 0; |
| | | m_UpperIcon.gameObject.SetActive(true); |
| | | if (UseLiquid(out _buffId)) |
| | | { |
| | | var currentSkillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(_buffId); |
| | | if (currentSkillConfig.EffectValue11 >= skillCfg.EffectValue11) |
| | | { |
| | | m_UpperIcon.gameObject.SetActive(false); |
| | | } |
| | | } |
| | | |
| | | m_ContainerBuy.gameObject.SetActive(true); |
| | | m_ContainerUse.gameObject.SetActive(false); |
| | | |
| | | m_Cost.text = storeModel.MoneyNumber.ToString(); |
| | | m_BtnTxt.text = Language.Get("FairyLand_Func23"); |
| | | m_FuncBtn.onClick.RemoveAllListeners(); |
| | | m_FuncBtn.onClick.AddListener(() => |
| | | { |
| | | OnBuyItemClick(storeModel); |
| | | }); |
| | | |
| | | m_ItemBtn.onClick.RemoveAllListeners(); |
| | | m_ItemBtn.onClick.AddListener(() => |
| | | { |
| | | OnItemClick(cfg); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private bool UseLiquid(out int _buffId) |
| | | { |
| | | _buffId = 0; |
| | | for (int i = 0; i < model.liquidItems.Count; i++) |
| | | { |
| | | var config = ConfigManager.Instance.GetTemplate<ItemConfig>(model.liquidItems[i]); |
| | | if (Buffmodel._BuffDic.ContainsKey(config.AddSkill1)) |
| | | { |
| | | _buffId = config.AddSkill1; |
| | | return true; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | private void OnBuyItemClick(StoreConfig storeModel) |
| | | { |
| | | m_storeModel.SendBuyShopItem(storeModel, 1); |
| | | } |
| | | |
| | | private void OnUseItemClick(ItemModel itemModel) |
| | | { |
| | | int buffid = 0; |
| | | for (int i = 0; i < model.liquidItems.Count; i++) |
| | | { |
| | | ItemConfig cfg = ConfigManager.Instance.GetTemplate<ItemConfig>(model.liquidItems[i]); |
| | | if (Buffmodel._BuffDic.ContainsKey(cfg.AddSkill1)) |
| | | { |
| | | buffid = cfg.AddSkill1; |
| | | break; |
| | | } |
| | | } |
| | | ItemConfig _useItemCfg = ConfigManager.Instance.GetTemplate<ItemConfig>(itemModel.itemId); |
| | | if (buffid != 0 && buffid != _useItemCfg.AddSkill1) |
| | | { |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("FairyLand_Func22"), (bool isOk) => |
| | | { |
| | | if (isOk) |
| | | { |
| | | WindowCenter.Instance.CloseImmediately<DungeonUseLiquidWin>(); |
| | | PackSendQuestMgr.Instance.SendMakeUseQuest(itemModel.itemInfo.ItemPlace); |
| | | } |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | WindowCenter.Instance.CloseImmediately<DungeonUseLiquidWin>(); |
| | | PackSendQuestMgr.Instance.SendMakeUseQuest(itemModel.itemInfo.ItemPlace); |
| | | } |
| | | } |
| | | |
| | | private void OnItemClick(ItemConfig _itemCfg) |
| | | { |
| | | ItemAttrData itemAttrData = new ItemAttrData(_itemCfg.ID); |
| | | ModelCenter.Instance.GetModel<ItemTipsModel>().SetItemTipsModel(itemAttrData); |
| | | } |
| | | |
| | | private void OnItemClick(ItemModel _itemModel) |
| | | { |
| | | ModelCenter.Instance.GetModel<ItemTipsModel>().SetItemTipsModel(_itemModel.packType, _itemModel.itemInfo.ItemGUID); |
| | | } |
| | | } |
| | | using System.Collections;
|
| | | using System.Collections.Generic;
|
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | | using EnhancedUI.EnhancedScroller;
|
| | | using Snxxz.UI;
|
| | | using TableConfig;
|
| | |
|
| | | public class DungeonLiquidCell : ScrollerUI
|
| | | {
|
| | | [SerializeField] Transform m_ContainerUp;
|
| | | [SerializeField] Text m_ExpUpper;
|
| | | [SerializeField] Image m_UpperIcon;
|
| | | [SerializeField] Transform m_ContainerBuy;
|
| | | [SerializeField] Text m_Cost;
|
| | | [SerializeField] Image m_ItemBG;
|
| | | [SerializeField] Image m_ItemIcon;
|
| | | [SerializeField] Image m_MoneyIcon;
|
| | | [SerializeField] Text m_ItemCount;
|
| | | [SerializeField] Button m_FuncBtn;
|
| | | [SerializeField] Button m_ItemBtn;
|
| | | [SerializeField] Text m_BtnTxt;
|
| | | [SerializeField] Transform m_ContainerUse;
|
| | |
|
| | | DungeonLiquidModel m_Model;
|
| | | DungeonLiquidModel model
|
| | | {
|
| | | get
|
| | | {
|
| | | return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonLiquidModel>());
|
| | | }
|
| | | }
|
| | |
|
| | | PlayerBuffDatas m_BuffModel;
|
| | | PlayerBuffDatas Buffmodel
|
| | | {
|
| | | get
|
| | | {
|
| | | return m_BuffModel ?? (m_BuffModel = ModelCenter.Instance.GetModel<PlayerBuffDatas>());
|
| | | }
|
| | | }
|
| | |
|
| | | StoreModel _storeModel;
|
| | | StoreModel m_storeModel
|
| | | {
|
| | | get { return _storeModel ?? (_storeModel = ModelCenter.Instance.GetModel<StoreModel>()); }
|
| | | }
|
| | |
|
| | | public override void Refresh(CellView cell)
|
| | | {
|
| | | int index = cell.index;
|
| | | if (model.IsBagHasLiquid)
|
| | | {
|
| | | if (index < model.liquidItemList.Count)
|
| | | {
|
| | | ItemModel itemModel = model.liquidItemList[index];
|
| | | ItemConfig cfg = Config.Instance.Get<ItemConfig>((int)itemModel.itemInfo.ItemID);
|
| | | m_ItemIcon.SetSprite(cfg.IconKey);
|
| | | m_ItemBG.SetItemBackGround(cfg.ItemColor);
|
| | | if (itemModel.itemInfo.ItemCount > 1)
|
| | | {
|
| | | m_ItemCount.gameObject.SetActive(true);
|
| | | m_ItemCount.text = itemModel.itemInfo.ItemCount.ToString();
|
| | | }
|
| | | else
|
| | | {
|
| | | m_ItemCount.gameObject.SetActive(false);
|
| | | }
|
| | |
|
| | | if (Buffmodel._BuffDic.ContainsKey(cfg.AddSkill1))
|
| | | {
|
| | | m_ContainerUp.gameObject.SetActive(false);
|
| | | m_ContainerUse.gameObject.SetActive(true);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_ContainerUse.gameObject.SetActive(false);
|
| | | m_ContainerUp.gameObject.SetActive(true);
|
| | | m_ContainerUp.transform.localPosition = m_ContainerUp.transform.localPosition.SetY(0);
|
| | | SkillConfig skillCfg = Config.Instance.Get<SkillConfig>(cfg.AddSkill1);
|
| | | m_ExpUpper.text = Language.Get("FairyLand_Func24", skillCfg.EffectValue11 / 100);
|
| | | var _buffId = 0;
|
| | | m_UpperIcon.gameObject.SetActive(true);
|
| | | if (UseLiquid(out _buffId))
|
| | | {
|
| | | var currentSkillConfig = Config.Instance.Get<SkillConfig>(_buffId);
|
| | | if (currentSkillConfig.EffectValue11 >= skillCfg.EffectValue11)
|
| | | {
|
| | | m_UpperIcon.gameObject.SetActive(false);
|
| | | }
|
| | | }
|
| | | }
|
| | | m_ContainerBuy.gameObject.SetActive(false);
|
| | |
|
| | | m_BtnTxt.text = Language.Get("FairyLand_Func25");
|
| | | m_FuncBtn.onClick.RemoveAllListeners();
|
| | | m_FuncBtn.onClick.AddListener(() =>
|
| | | {
|
| | | OnUseItemClick(itemModel);
|
| | | });
|
| | |
|
| | | m_ItemBtn.onClick.RemoveAllListeners();
|
| | | m_ItemBtn.onClick.AddListener(() =>
|
| | | {
|
| | | OnItemClick(itemModel);
|
| | | });
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (index < model.liquidStoreConfigs.Count)
|
| | | {
|
| | | StoreConfig storeModel = model.liquidStoreConfigs[index];
|
| | | ItemConfig cfg = Config.Instance.Get<ItemConfig>(storeModel.ItemID);
|
| | | m_ItemIcon.SetSprite(cfg.IconKey);
|
| | | m_ItemBG.SetItemBackGround(cfg.ItemColor);
|
| | | m_ItemCount.gameObject.SetActive(false);
|
| | | m_MoneyIcon.SetIconWithMoneyType(storeModel.MoneyType);
|
| | | m_ContainerUp.transform.localPosition = m_ContainerUp.transform.localPosition.SetY(25);
|
| | | SkillConfig skillCfg = Config.Instance.Get<SkillConfig>(cfg.AddSkill1);
|
| | | m_ExpUpper.text = Language.Get("FairyLand_Func24", skillCfg.EffectValue11 / 100);
|
| | |
|
| | | m_ContainerUp.gameObject.SetActive(true);
|
| | | var _buffId = 0;
|
| | | m_UpperIcon.gameObject.SetActive(true);
|
| | | if (UseLiquid(out _buffId))
|
| | | {
|
| | | var currentSkillConfig = Config.Instance.Get<SkillConfig>(_buffId);
|
| | | if (currentSkillConfig.EffectValue11 >= skillCfg.EffectValue11)
|
| | | {
|
| | | m_UpperIcon.gameObject.SetActive(false);
|
| | | }
|
| | | }
|
| | |
|
| | | m_ContainerBuy.gameObject.SetActive(true);
|
| | | m_ContainerUse.gameObject.SetActive(false);
|
| | |
|
| | | m_Cost.text = storeModel.MoneyNumber.ToString();
|
| | | m_BtnTxt.text = Language.Get("FairyLand_Func23");
|
| | | m_FuncBtn.onClick.RemoveAllListeners();
|
| | | m_FuncBtn.onClick.AddListener(() =>
|
| | | {
|
| | | OnBuyItemClick(storeModel);
|
| | | });
|
| | |
|
| | | m_ItemBtn.onClick.RemoveAllListeners();
|
| | | m_ItemBtn.onClick.AddListener(() =>
|
| | | {
|
| | | OnItemClick(cfg);
|
| | | });
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | private bool UseLiquid(out int _buffId)
|
| | | {
|
| | | _buffId = 0;
|
| | | for (int i = 0; i < model.liquidItems.Count; i++)
|
| | | {
|
| | | var config = Config.Instance.Get<ItemConfig>(model.liquidItems[i]);
|
| | | if (Buffmodel._BuffDic.ContainsKey(config.AddSkill1))
|
| | | {
|
| | | _buffId = config.AddSkill1;
|
| | | return true;
|
| | | }
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | private void OnBuyItemClick(StoreConfig storeModel)
|
| | | {
|
| | | m_storeModel.SendBuyShopItem(storeModel, 1);
|
| | | }
|
| | |
|
| | | private void OnUseItemClick(ItemModel itemModel)
|
| | | {
|
| | | int buffid = 0;
|
| | | for (int i = 0; i < model.liquidItems.Count; i++)
|
| | | {
|
| | | ItemConfig cfg = Config.Instance.Get<ItemConfig>(model.liquidItems[i]);
|
| | | if (Buffmodel._BuffDic.ContainsKey(cfg.AddSkill1))
|
| | | {
|
| | | buffid = cfg.AddSkill1;
|
| | | break;
|
| | | }
|
| | | }
|
| | | ItemConfig _useItemCfg = Config.Instance.Get<ItemConfig>(itemModel.itemId);
|
| | | if (buffid != 0 && buffid != _useItemCfg.AddSkill1)
|
| | | {
|
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("FairyLand_Func22"), (bool isOk) =>
|
| | | {
|
| | | if (isOk)
|
| | | {
|
| | | WindowCenter.Instance.CloseImmediately<DungeonUseLiquidWin>();
|
| | | PackSendQuestMgr.Instance.SendMakeUseQuest(itemModel.itemInfo.ItemPlace);
|
| | | }
|
| | | });
|
| | | }
|
| | | else
|
| | | {
|
| | | WindowCenter.Instance.CloseImmediately<DungeonUseLiquidWin>();
|
| | | PackSendQuestMgr.Instance.SendMakeUseQuest(itemModel.itemInfo.ItemPlace);
|
| | | }
|
| | | }
|
| | |
|
| | | private void OnItemClick(ItemConfig _itemCfg)
|
| | | {
|
| | | ItemAttrData itemAttrData = new ItemAttrData(_itemCfg.ID);
|
| | | ModelCenter.Instance.GetModel<ItemTipsModel>().SetItemTipsModel(itemAttrData);
|
| | | }
|
| | |
|
| | | private void OnItemClick(ItemModel _itemModel)
|
| | | {
|
| | | ModelCenter.Instance.GetModel<ItemTipsModel>().SetItemTipsModel(_itemModel.packType, _itemModel.itemInfo.ItemGUID);
|
| | | }
|
| | | }
|