private T Loader <T>(string path, Func <T> generateDefault) where T : LoadableAsset <T> { if (string.IsNullOrEmpty(path)) { return(generateDefault()); } return(LoadableAsset <T> .LoadFromFile(ToAbsolutePath(path))); }
private void button1_Click(object sender, EventArgs e) { var path = _controlForm.SelectAssetFileFromBrowser(); if (path == null) { return; } try { var asset = LoadableAsset <TAsset> .LoadFromFile(path); _path.Text = asset.AssetFilePath; OnPathChanged?.Invoke(this, new EventArgs()); EditAsset(); } catch (Exception ex) { MessageBox.Show(ex.Message + "-" + ex.StackTrace, Resources.ErrorDialogTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
protected virtual T LoadAssetFromFile(string path) { return(LoadableAsset <T> .LoadFromFile(path)); }