public static ActorGroupPickerDialog Launch(Canvas parentCanvas, string pickerPrompt, bool allowOffstageActors, OnActorGroupPickerResult callback) { GameObject obj = GameObject.Instantiate(Resources.Load <GameObject>(PREFAB_PATH)); if (parentCanvas != null) { obj.transform.SetParent(parentCanvas.transform, false); } ActorGroupPickerDialog dialog = obj.GetComponent <ActorGroupPickerDialog>(); dialog.Setup(parentCanvas, pickerPrompt, allowOffstageActors, callback); return(dialog); }
void OnButtonClick() { currentlyOpenGroupPicker = ActorGroupPickerDialog.Launch( null, editor.pickerPrompt, editor.allowOffstageActors, (success, spec) => { currentlyOpenGroupPicker = null; if (success) { editor.SetData(spec.ToString()); onValueChanged?.Invoke(spec.ToString()); } }); }