public void OnPackageManagerClick() { if (view == null) { var dynamoViewModel = viewLoadedParams.DynamoWindow.DataContext as DynamoViewModel; if (dynamoViewModel == null) { throw new Exception("Couldn't get DynamoViewModel"); } var dynamoModel = dynamoViewModel.Model; IPackageManagerCommands packageCommands = new PackageManagerCommands(dynamoModel.GetPackageManagerExtension().PackageLoader, dynamoModel); var vm = new PackageManagerViewModel(packageCommands, "packages"); view = new PackageManagerView(vm) { Owner = viewLoadedParams.DynamoWindow, WindowStartupLocation = WindowStartupLocation.CenterOwner }; view.DataContext = vm; view.Closed += (sender, args) => view = null; view.Show(); } view.Focus(); //if (_packageManagerView.IsLoaded && IsLoaded) _packageManagerView.Owner = this; }
public static void DoUpload(PackageVersion packageVersion, System.Action succeed) { EditorUtility.DisplayProgressBar("插件上传", "打包中...", 0.1f); var fileName = packageVersion.Name + "_" + packageVersion.Version + ".unitypackage"; var fullpath = PackageManagerView.ExportPaths(fileName, packageVersion.InstallPath); var file = File.ReadAllBytes(fullpath); var form = new WWWForm(); form.AddField("username", User.Username.Value); form.AddField("password", User.Password.Value); form.AddField("name", packageVersion.Name); form.AddField("version", packageVersion.Version); form.AddBinaryData("file", file); form.AddField("version", packageVersion.Version); // form.AddField("release_note", packageVersion.Readme.content); form.AddField("installPath", packageVersion.InstallPath); form.AddField("accessRight", packageVersion.AccessRight.ToString().ToLower()); form.AddField("docUrl", packageVersion.DocUrl); // if (packageVersion.Type == PackageType.FrameworkModule) // { // form.AddField("type", "fm"); // } // else if (packageVersion.Type == PackageType.Shader) // { // form.AddField("type", "s"); // } // else if (packageVersion.Type == PackageType.AppOrGameDemoOrTemplate) // { // form.AddField("type", "agt"); // } // else if (packageVersion.Type == PackageType.Plugin) // { // form.AddField("type", "p"); // } Debug.Log(fullpath); EditorUtility.DisplayProgressBar("插件上传", "上传中...", 0.2f); ObservableWWW.Post(UPLOAD_URL, form, new Dictionary <string, string> { { "Authorization", "Token " + User.Token.Value } }) .Subscribe(responseContent => { EditorUtility.ClearProgressBar(); Debug.Log(responseContent); succeed.InvokeGracefully(); File.Delete(fullpath); }, e => { EditorUtility.ClearProgressBar(); EditorUtility.DisplayDialog("插件上传", "上传失败!{0}".FillFormat(e.Message), "确定"); File.Delete(fullpath); }); }
private void OnPackageManagerClick() { var _packageManagerView = new PackageManagerView() { //Owner = this, WindowStartupLocation = WindowStartupLocation.CenterOwner }; //var vm = new PackageManagerViewModel(dynamoViewModel, // pmExtension.PackageLoader, "assets"); var vm = new PackageManagerViewModel("assets"); _packageManagerView.DataContext = vm; _packageManagerView.Closed += (sender, args) => _packageManagerView = null; _packageManagerView.Show(); //if (_packageManagerView.IsLoaded && IsLoaded) _packageManagerView.Owner = this; }