/// <summary> /// 根据不同界面筛选装备(不同的分页筛选的条件不同) /// </summary> Dictionary <int, EquipmentInfo> FilterItemsByType(Dictionary <int, EquipmentInfo> itemDic, EquipmentTrainingType type) { Dictionary <int, EquipmentInfo> dic = new Dictionary <int, EquipmentInfo>(); foreach (EquipmentInfo info in itemDic.Values) { switch (type) { case EquipmentTrainingType.Upgrade: if (info.CanUpgrade) { dic[info.InstanceID] = info; } break; case EquipmentTrainingType.OrangeRefine: if (info.CanOrangeRefine) { dic[info.InstanceID] = info; } break; case EquipmentTrainingType.Wash: if (info.CanWash) { dic[info.InstanceID] = info; } break; case EquipmentTrainingType.Strengthening: dic[info.InstanceID] = info; break; case EquipmentTrainingType.Inlay: if (info.CanInlay) { dic[info.InstanceID] = info; } break; case EquipmentTrainingType.Extend: if (curSlot == EquipSlot.None && info.CanExtend) //继承功能只有已选择主装备是才筛选 { dic[info.InstanceID] = info; } if (curSlot != EquipSlot.None) //根据SLOT筛选副装备 { dic[info.InstanceID] = info; } break; } } return(dic); }
void OnChange() { if (toggleBag != null) { toggleBag.transform.localScale = Vector3.one; } for (int i = 0, max = toggles.Length; i < max; i++) { if (toggles[i].value) { CurEquipmentTrainingType = (EquipmentTrainingType)i; //subWndArray[i].OpenUI(); SwitchToSubWnd(subWndArray[i].type); switch (CurEquipmentTrainingType) { case EquipmentTrainingType.Strengthening: ShowEquipItems(FilterItemsByType(GameCenter.inventoryMng.GetPlayerEquipDic(), EquipmentTrainingType.Strengthening), (GameCenter.equipmentTrainingMng.CurSelectEquipmentInfo == null)); toggleEquip.value = true; lastEquipToggle = toggleEquip; toggleBag.transform.localScale = Vector3.zero; break; case EquipmentTrainingType.Inlay: ShowEquipItems(FilterItemsByType(GameCenter.inventoryMng.GetPlayerEquipDic(), EquipmentTrainingType.Inlay)); toggleEquip.value = true; lastEquipToggle = toggleEquip; toggleBag.transform.localScale = Vector3.zero; break; case EquipmentTrainingType.Wash: ShowEquipItems(FilterItemsByType(GameCenter.inventoryMng.GetPlayerEquipDic(), EquipmentTrainingType.Wash)); toggleEquip.value = true; lastEquipToggle = toggleEquip; toggleBag.transform.localScale = Vector3.zero; break; case EquipmentTrainingType.Extend: ShowBagItems(FilterItemsByType(GameCenter.inventoryMng.GetBackpackEquipDic(), EquipmentTrainingType.Extend), false); toggleBag.value = true; lastEquipToggle = toggleBag; break; case EquipmentTrainingType.Upgrade: ShowEquipItems(FilterItemsByType(GameCenter.inventoryMng.GetPlayerEquipDic(), EquipmentTrainingType.Upgrade)); toggleEquip.value = true; lastEquipToggle = toggleEquip; break; case EquipmentTrainingType.OrangeRefine: ShowEquipItems(FilterItemsByType(GameCenter.inventoryMng.GetPlayerEquipDic(), EquipmentTrainingType.OrangeRefine)); toggleEquip.value = true; lastEquipToggle = toggleEquip; break; } } else { subWndArray[i].CloseUI(); } } }