Пример #1
0
    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);
        }
    }
Пример #2
0
    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);
        }
    }