private void applyPart(int slotIndex, int partIndex, DceModel.Part newPart) { DceViewDistinctChild dceViewDistinctChild = children[slotIndex, partIndex]; if (dceViewDistinctChild == null && newPart != null) { string name = "DceViewDistinct"; GameObject gameObject = new GameObject(name); gameObject.transform.SetParent(base.transform, worldPositionStays: false); gameObject.layer = base.gameObject.layer; gameObject.SetActive(value: false); dceViewDistinctChild = gameObject.AddComponent <DceViewDistinctChild>(); dceViewDistinctChild.SlotIndex = slotIndex; dceViewDistinctChild.PartIndex = partIndex; dceViewDistinctChild.Model = Model; dceViewDistinctChild.Rig = rig; gameObject.SetActive(value: true); children[slotIndex, partIndex] = dceViewDistinctChild; if (this.OnChildAdded != null) { this.OnChildAdded(dceViewDistinctChild); } } boundsIsDirty = true; if (dceViewDistinctChild != null) { dceViewDistinctChild.Apply(newPart); if (dceViewDistinctChild.IsBusy && !base.IsBusy) { startWork(); } } }