/// <inheritdoc /> public override void Dispose() { _isValid = null; _selected = null; base.Dispose(); }
private AssetSearchPopup(IsAssetItemValidDelegate isValid, Action <AssetItem> selected) { _isValid = isValid; _selected = selected; ItemClicked += OnItemClicked; // TODO: use async thread to search workspace items FindAssets(Editor.Instance.ContentDatabase.ProjectContent.Folder); SortChildren(); }
/// <summary> /// Shows the popup. /// </summary> /// <param name="showTarget">The show target.</param> /// <param name="showTargetLocation">The show target location.</param> /// <param name="isValid">Event called to check if a given asset item is valid to be used.</param> /// <param name="selected">Event called on asset item pick.</param> /// <returns>The dialog.</returns> public static AssetSearchPopup Show(Control showTarget, Vector2 showTargetLocation, IsAssetItemValidDelegate isValid, Action <AssetItem> selected) { var popup = new AssetSearchPopup(isValid, selected); popup.Show(showTarget, showTargetLocation); return(popup); }