public bool IsSameItem(MergeItem item) { bool isSame = false; if (this.Key.Equals(item.Key)) { isSame = true; } return(isSame); }
static void traverse(Transform parent) { int count = parent.childCount; if (count <= 0) { return; } for (int i = 0; i < count; i++) { Transform child = parent.GetChild(i); Debug.Log(child.gameObject.name); MeshFilter msr = child.gameObject.GetComponent <MeshFilter>(); if (msr != null) { Material[] mas = msr.gameObject.GetComponent <MeshRenderer>().sharedMaterials; for (int j = 0; j < mas.Length; j++) { Material m = mas[j]; if (!dictItems.ContainsKey(m.name)) { MergeItem item = new MergeItem(m.name, m); item.ListMeshFilter.Add(msr); item.ListSubIndex.Add(j); dictItems.Add(m.name, item); } else { MergeItem item = dictItems[m.name]; item.ListMeshFilter.Add(msr); item.ListSubIndex.Add(j); } } } traverse(child); } }