[1637]修复乾坤袋开启格子数超出总格子数 【1885】提交部分神兽代码
| | |
| | | m_DogzIcon.SetSprite(_dogzCfg.HeadIcon);
|
| | | m_DogzIcon.SetNativeSize();
|
| | | var _dogzEquips = model.GetDogzEquips(_dogzCfg.ID);
|
| | | m_DogzIcon.material = (_dogzEquips == null || _dogzEquips.Count < 5) ? MaterialUtility.GetDefaultSpriteGrayMaterial() :
|
| | | MaterialUtility.GetUIDefaultGraphicMaterial();
|
| | | bool isActive = (_dogzEquips == null || _dogzEquips.Count < 5) ? false : true;
|
| | | m_DogzName.text = _dogzCfg.Name;
|
| | | //m_DogzGrade.text = StringUtility.Contact("评分:", 100);
|
| | | m_DogzGrade.text = StringUtility.Contact("评分:", 100);
|
| | | if (isActive)
|
| | | {
|
| | | m_DogzIcon.material = MaterialUtility.GetUIDefaultGraphicMaterial();
|
| | | m_DogzName.material = MaterialUtility.GetUIDefaultGraphicMaterial();
|
| | | m_DogzGrade.material = MaterialUtility.GetUIDefaultGraphicMaterial();
|
| | | }
|
| | | else
|
| | | {
|
| | | m_DogzIcon.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
|
| | | m_DogzName.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
|
| | | m_DogzGrade.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
|
| | | }
|
| | | m_DogzBtn.image.color = model.presentSelectDogz == _dogzCfg.ID ? Color.blue : Color.white;
|
| | | m_DogzAssist.gameObject.SetActive(model.TryGetAssistDogzState(_dogzCfg.ID));
|
| | | m_DogzBtn.onClick.RemoveAllListeners();
|
| | |
| | | itemBaisc.cellBtn.RemoveAllListeners();
|
| | | itemBaisc.cellBtn.AddListener(()=>
|
| | | {
|
| | | ItemAttrData attrData = new ItemAttrData(model.itemId,false,(ulong)model.itemInfo.ItemCount,model.itemInfo.ItemPlace,
|
| | | model.itemInfo.IsBind,false,PackType.rptDogzEquip,model.itemInfo.ItemGUID);
|
| | | tipsModel.SetItemTipsModel(attrData);
|
| | | tipsModel.SetItemTipsModel(model.packType,model.itemInfo.ItemGUID,false,false);
|
| | | tipsModel.SetDogzEquipBtn(tipsModel.curAttrData);
|
| | | tipsModel.ShowUICtrl();
|
| | | });
|
| | | }
|
| | | }
|
| | |
| | | itemBaisc.cellBtn.RemoveAllListeners();
|
| | | itemBaisc.cellBtn.AddListener(()=>
|
| | | {
|
| | | ItemAttrData attrData = new ItemAttrData(model.itemId, false, (ulong)model.itemInfo.ItemCount, model.itemInfo.ItemPlace,
|
| | | model.itemInfo.IsBind, false, PackType.rptDogzItem, model.itemInfo.ItemGUID);
|
| | | tipsModel.SetItemTipsModel(attrData);
|
| | | tipsModel.SetItemTipsModel(model.packType, model.itemInfo.ItemGUID, false, false);
|
| | | tipsModel.SetDogzItemBtn(tipsModel.curAttrData);
|
| | | tipsModel.ShowUICtrl();
|
| | | });
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | ItemModel itemModel = playerPack.GetItemModelByIndex(type, index);
|
| | | int dogzId = GetDogzIDByIndex(index);
|
| | | List<ItemModel> modellist = GetDogzEquips(dogzId);
|
| | | if(modellist != null)
|
| | | {
|
| | | if (itemModel != null)
|
| | | {
|
| | | for (int i = 0; i < m_DogzEquipDict[dogzId].Count; i++)
|
| | | bool isAdd = true;
|
| | | for (int i = 0; i < modellist.Count; i++)
|
| | | {
|
| | | if (m_DogzEquipDict[dogzId][i].itemInfo.ItemPlace == index)
|
| | | if (modellist[i].itemInfo.ItemPlace == index)
|
| | | {
|
| | | m_DogzEquipDict[dogzId][i] = itemModel;
|
| | | return;
|
| | | isAdd = false;
|
| | | modellist[i] = itemModel;
|
| | | break;
|
| | | }
|
| | | }
|
| | | if(isAdd)
|
| | | {
|
| | | modellist.Add(itemModel);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | for (int i = 0; i < modellist.Count; i++)
|
| | | {
|
| | | if (modellist[i].itemInfo.ItemPlace == index)
|
| | | {
|
| | | modellist.RemoveAt(i);
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | for (int i = 0; i < m_DogzEquipDict[dogzId].Count; i++)
|
| | | if(itemModel != null)
|
| | | {
|
| | | if (m_DogzEquipDict[dogzId][i].itemInfo.ItemPlace == index)
|
| | | {
|
| | | m_DogzEquipDict[dogzId].RemoveAt(i);
|
| | | return;
|
| | | List<ItemModel> equipDatas = new List<ItemModel>();
|
| | | equipDatas.Add(itemModel);
|
| | | m_DogzEquipDict.Add(dogzId,equipDatas);
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | if(RefreshDogzEquipAct != null)
|
| | | {
|
| | |
| | | yield return null;
|
| | | if(itemAttrData.isCompare)
|
| | | {
|
| | | if (itemAttrData.packType != PackType.rptEquip)
|
| | | if (itemAttrData.packType != PackType.rptEquip
|
| | | && itemAttrData.packType != PackType.rptDogzEquip)
|
| | | {
|
| | | itemTipsModel.SetCurTips(this.GetComponent<RectTransform>());
|
| | | }
|
| | |
| | | ItemCellModel cellModel = new ItemCellModel(itemAttrData.itemId,itemAttrData.isPreview, (ulong)itemAttrData.count, itemAttrData.isBind,
|
| | | itemAttrData.guid,itemAttrData.packType,itemAttrData.isCompare, itemAttrData.useDataDict);
|
| | | itemCell.Init(cellModel);
|
| | | if(itemAttrData.packType == PackType.rptEquip)
|
| | | if(itemAttrData.packType == PackType.rptEquip
|
| | | || itemAttrData.packType == PackType.rptDogzEquip)
|
| | | {
|
| | | putOnIcon.SetActive(true);
|
| | | }
|
| | |
| | |
|
| | | if (itemAttrData.isCompare)
|
| | | {
|
| | | if(itemAttrData.packType != PackType.rptEquip)
|
| | | if(itemAttrData.packType != PackType.rptEquip
|
| | | && itemAttrData.packType != PackType.rptDogzEquip)
|
| | | {
|
| | | CreateFuncBtn();
|
| | | }
|
| | |
| | | get { return _modelInterface ?? (_modelInterface = ModelCenter.Instance.GetModel<PackModelInterface>()); }
|
| | | }
|
| | |
|
| | | DogzModel dogzModel { get { return ModelCenter.Instance.GetModel<DogzModel>(); } }
|
| | |
|
| | | public override void Init()
|
| | | {
|
| | | m_storeModel.RefreshTCBPlayerDataEvent += RefreshOfflinePluginTime;
|
| | |
| | | switch (attrData.winType)
|
| | | {
|
| | | case ItemWinType.equipWin:
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn, attrData.guid); });
|
| | | break;
|
| | | case ItemWinType.wingsWin:
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn, attrData.guid); });
|
| | | break;
|
| | | case ItemWinType.guardWin:
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn, attrData.guid); });
|
| | | break;
|
| | |
| | |
|
| | | }
|
| | |
|
| | | public void SetDogzItemBtn(ItemAttrData attrData)
|
| | | {
|
| | | if (attrData == null) return;
|
| | |
|
| | | if (attrData.itemConfig.CanSell == 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.sell, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendSellQuest(ItemWinBtnType.sell, attrData); });
|
| | | }
|
| | |
|
| | | switch (attrData.winType)
|
| | | {
|
| | | case ItemWinType.equipWin:
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { dogzModel.SendPutOnEquip(dogzModel.presentSelectDogz, attrData.index); });
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | public void SetDogzEquipBtn(ItemAttrData attrData)
|
| | | {
|
| | | if (attrData == null) return;
|
| | |
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.putOff, (ItemWinBtnType, ItemAttrData) => {
|
| | | dogzModel.SendPutOffEquip(dogzModel.presentSelectDogz,dogzModel.GetDogzEquipPlaceByIndex(attrData.index));
|
| | | });
|
| | |
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.strength, (ItemWinBtnType, ItemAttrData) => {
|
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StrengthFunc1);
|
| | | });
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 设置仓库弹框按钮
|
| | | /// </summary>
|
| | |
| | | SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
|
| | | if (singlePack == null) return false;
|
| | |
|
| | | int startLockIndex = singlePack.openGridCount - GetInitGridCount(PackType.rptItem);
|
| | | int startLockIndex = singlePack.openGridCount - playerPack.InitBagGridCnt;
|
| | | FuncConfigConfig _tagFuncModel = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("OpenBagItem");
|
| | | int haveCount = playerPack.GetItemCountByID(PackType.rptItem,itemId);
|
| | | Equation.Instance.Clear();
|
| | |
| | |
|
| | | #region 解锁格子
|
| | |
|
| | | public int GetInitGridCount(PackType type)
|
| | | {
|
| | | FuncConfigConfig initGridCount = null;
|
| | | if (type == PackType.rptItem)
|
| | | initGridCount = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("InitBagCellCount");
|
| | | else if (type == PackType.rptWarehouse)
|
| | | initGridCount = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("InitDepotCellCount");
|
| | |
|
| | | return int.Parse(initGridCount.Numerical1);
|
| | | }
|
| | |
|
| | | public void OpenGrid(int chooseGridCount, PackType type)
|
| | | {
|
| | | SinglePackModel singlePack = playerPack.GetSinglePackModel(type);
|
| | | int openCount = chooseGridCount - singlePack.openGridCount;
|
| | | int index = chooseGridCount - GetInitGridCount(type);
|
| | | int index = 0;
|
| | | switch(type)
|
| | | {
|
| | | case PackType.rptItem:
|
| | | index = chooseGridCount - playerPack.InitBagGridCnt;
|
| | | break;
|
| | | case PackType.rptWarehouse:
|
| | | index = chooseGridCount - playerPack.InitDepotGridCnt;
|
| | | break;
|
| | | }
|
| | | itemTipsModel.SetExtendGirdModel(openCount,index, type);
|
| | | WindowCenter.Instance.Open<ExtendWin>();
|
| | | }
|
| | |
| | |
|
| | | if (useItemModel.itemId == 951)
|
| | | {
|
| | | int startLockIndex = singlePack.openGridCount - modelInterface.GetInitGridCount(PackType.rptItem);
|
| | | int startLockIndex = singlePack.openGridCount - playerPack.InitBagGridCnt;
|
| | | int chooseGridCnt = singlePack.openGridCount + GetExtendGridCnt(startLockIndex);
|
| | | modelInterface.OpenGrid(chooseGridCnt, PackType.rptItem);
|
| | | return;
|
| | |
| | | {
|
| | | extendCnt = 1;
|
| | | }
|
| | | int remianLock = playerPack.MaxBagGridCnt - playerPack.GetSinglePackModel(PackType.rptItem).openGridCount;
|
| | | if(extendCnt > remianLock)
|
| | | {
|
| | | extendCnt = remianLock;
|
| | | }
|
| | | return extendCnt;
|
| | | }
|
| | | }
|
| | |
| | | public Dictionary<int, Dictionary<int, int>> decomposeAttrDict = new Dictionary<int, Dictionary<int, int>>();
|
| | | public static string StrengthAttrShift_RecordKey = "StrengthAttrShift";
|
| | | public const string RecordKnapsackTitle = "RecordKnapsackTitle";
|
| | | public int MaxBagGridCnt { get; private set; }
|
| | | public int InitBagGridCnt { get; private set; }
|
| | | public int MaxDepotGridCnt { get; private set; }
|
| | | public int InitDepotGridCnt { get; private set; }
|
| | |
|
| | | public override void Init()
|
| | | {
|
| | | List<DungeonOpenTimeConfig> dungeonlist = ConfigManager.Instance.GetAllValues<DungeonOpenTimeConfig>();
|
| | |
| | | minDecomposeNum = int.Parse(equipDecompose.Numerical1);
|
| | | defaultUnSelectlist = ConfigParse.GetMultipleStr<int>(equipDecompose.Numerical2);
|
| | |
|
| | | InitDepotGridCnt = int.Parse(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("InitDepotCellCount").Numerical1);
|
| | | InitBagGridCnt = int.Parse(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("InitBagCellCount").Numerical1);
|
| | | MaxBagGridCnt = int.Parse(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("MaxBagCellCount").Numerical1);
|
| | | MaxDepotGridCnt = int.Parse(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("MaxDepotCellCount").Numerical1);
|
| | |
|
| | | }
|
| | |
|
| | | public void OnBeforePlayerDataInitialize()
|