public void _method_Compose(Instance batch) { Edits.Remove(ComposeEdit.Get()); ReportChildAdd(1, "Composition batch"); DirectChildren.Value.Add(batch); AsyncCall <Instance[]>(batch, "get_PartsToRemove", (toRemove) => { AsyncCall <Instance[]>(batch, "get_PartsToAdd", (toAdd) => { composeWithCatalog(toAdd, toRemove); }); }); }
/// <summary> /// Runtime member definition. /// </summary> /// <param name="constructedParts">The constructed parts.</param> public void _method_ComposeParts(params Instance[] constructedParts) { //there is already compose part call Edits.Remove(ComposeEdit.Get()); //so we will accept components to this call var e = Edits; AppendArg(constructedParts.Length + 1, UserInteraction.AcceptEditName, (v) => acceptAppendComponent(e, v)); DirectChildren.Value.AddRange(constructedParts); for (int i = 0; i < constructedParts.Length; ++i) { ReportParamChildAdd(i, constructedParts[i], "Composed part", true); } composeWithCatalog(constructedParts); }