예제 #1
0
        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;
        }
예제 #2
0
        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);
            });
        }
예제 #3
0
        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;
        }