private void UpdateLublicateContent(MachinePart part) { List <SubPart> lublicatePart = part.SubParts.Where((p) => { return(p.CycleType == CycleType.Luburicate); }).ToList(); for (int i = 0; i < lublicatePartView.Count; i++) { SubPartViewControl ctrl = lublicatePartView[i]; if (i < lublicatePart.Count) { ctrl.ThePart = lublicatePart[i]; ctrl.gameObject.SetActive(true); } } for (int i = lublicatePart.Count; i < lublicatePartView.Count; i++) { SubPartViewControl ctrl = lublicatePartView[i]; ctrl.gameObject.SetActive(false); } }
private void UpdateReplaceContent(MachinePart part) { List <SubPart> replacePart = part.SubParts.Where((p) => { return(p.CycleType == CycleType.Replace && p.PartType == CurrentType); }).ToList(); Dictionary <string, int> unique = new Dictionary <string, int>(); foreach (var p in replacePart) { if (!unique.Keys.Contains(p.SubPartName)) { unique.Add(p.SubPartName, 1); } else { unique[p.SubPartName] += 1; } } for (int i = 0; i < replacePartView.Count; i++) { SubPartViewControl ctrl = replacePartView[i]; if (i < unique.Count) { string subpartname = unique.Keys.ToList()[i]; ctrl.ThePart = replacePart.Find((p) => { return(p.SubPartName == subpartname); }); ctrl.CountOfPart = unique[subpartname]; ctrl.gameObject.SetActive(true); } } for (int i = unique.Keys.Count; i < replacePartView.Count; i++) { SubPartViewControl ctrl = replacePartView[i]; ctrl.gameObject.SetActive(false); } }