public bool HaveEquipCanInlayByEquipPartMode(EquipPartMode mode) { uint key = (uint)mode; List <GameCmd.EquipPos> lst = StructEquipPartInlayData()[key]; for (int j = 0; j < lst.Count; j++) { if (null == mlstCanInlayGemType) { mlstCanInlayGemType = new List <GameCmd.GemType>(); } mlstCanInlayGemType.Clear(); mlstCanInlayGemType.AddRange(emgr.GeCanInlaytGemTypeByPos(lst[j])); for (EquipManager.EquipGridIndexType i = EquipManager.EquipGridIndexType.First; i < EquipManager.EquipGridIndexType.Max; i++) { for (int x = 0; x < mlstCanInlayGemType.Count; x++) { if (JudgeEquipPosCanInlay(lst[j], i, mlstCanInlayGemType[x])) { return(true); } } } } return(false); }