コード例 #1
0
        void OnResponseV5(EditorHttpResponse response, Action <List <PackageRepository>, List <string> > onResponse)
        {
            if (response.Type == ResponseType.SUCCEED)
            {
                var responseJson =
                    JsonUtility.FromJson <QFrameworkServerResultFormat <ListPackageResponseResult> >(response.Text);

                if (responseJson.code == 1)
                {
                    var listPackageResponseResult = responseJson.data;


                    var packageTypeConfigModel = PackageKitArchitectureConfig.GetModel <IPackageTypeConfigModel>();
                    foreach (var packageRepository in listPackageResponseResult.repositories)
                    {
                        packageRepository.type = packageTypeConfigModel.GetFullTypeName(packageRepository.type);
                    }

                    new PackageInfosRequestCache()
                    {
                        PackageRepositories = listPackageResponseResult.repositories
                    }.Save();

                    onResponse(listPackageResponseResult.repositories, listPackageResponseResult.categories);
                }
            }
            else
            {
                onResponse(null, null);
            }
        }
コード例 #2
0
        public void Execute()
        {
            if (mPackageVersion.Readme.content.Length < 2)
            {
                PackageKitArchitectureConfig.GetUtility <IEditorDialogUtility>().ShowErrorMsg("请输入版本修改说明");
                return;
            }

            if (!IsVersionValide(mPackageVersion.Version))
            {
                PackageKitArchitectureConfig.GetUtility <IEditorDialogUtility>().ShowErrorMsg("请输入正确的版本号 格式:vX.Y.Z");
                return;
            }

            mPackageVersion.DocUrl = "http://lianxiegame.com";

            mPackageVersion.Readme = new ReleaseItem(mPackageVersion.Version, mPackageVersion.Readme.content,
                                                     User.Username.Value,
                                                     DateTime.Now);

            mPackageVersion.Save();

            AssetDatabase.Refresh();

            RenderEndCommandExecuter.PushCommand(() =>
            {
                PublishPackage(mPackageVersion, false);
            });
        }
コード例 #3
0
        public PackageRepositoryView(PackageRepository packageRepository)
        {
            new SpaceView(2).AddTo(this);

            new LabelView(packageRepository.name).FontBold().Width(200).AddTo(this);

            new LabelView(packageRepository.latestVersion).TextMiddleCenter().Width(80).AddTo(this);

            var installedPackage = PackageKitArchitectureConfig.GetModel <IInstalledPackageVersionsConfigModel>()
                                   .GetByName(packageRepository.name);

            new LabelView(installedPackage != null ? installedPackage.Version : " ").TextMiddleCenter().Width(100)
            .AddTo(this);

            new LabelView(packageRepository.accessRight).TextMiddleLeft().Width(50).AddTo(this);


            if (installedPackage == null)
            {
                new ButtonView(LocaleText.Import).Width(90).AddTo(this)
                .OnClick.AddListener(() =>
                {
                    PackageKitArchitectureConfig.SendCommand(new ImportPackageCommand(packageRepository));
                });
            }
            else if (packageRepository.VersionNumber > installedPackage.VersionNumber)
            {
                new ButtonView(LocaleText.Update).Width(90).AddTo(this)
                .OnClick.AddListener(() =>
                {
                    PackageKitArchitectureConfig.SendCommand(new UpdatePackageCommand(packageRepository));
                });
            }
            else if (packageRepository.VersionNumber == installedPackage.VersionNumber)
            {
                new ButtonView(LocaleText.Reimport).Width(90).AddTo(this)
                .OnClick.AddListener(() =>
                {
                    PackageKitArchitectureConfig.SendCommand(new ReimportPackageCommand(packageRepository));
                });
            }
            else if (packageRepository.VersionNumber < installedPackage.VersionNumber)
            {
                new SpaceView(94).AddTo(this);
            }

            new ButtonView(LocaleText.ReleaseNotes)
            .Width(100)
            .AddTo(this)
            .OnClick.AddListener(() =>
            {
                PackageKitArchitectureConfig.SendCommand(new OpenDetailCommand(packageRepository));
            });

            new LabelView(packageRepository.author)
            .TextMiddleLeft()
            .FontBold().Width(100)
            .AddTo(this);
        }
コード例 #4
0
 public void OnDispose()
 {
     mDisposableList.Dispose();
     mDisposableList         = null;
     mCategoriesSelectorView = null;
     mPackageManagerConfig.Dispose();
     mPackageManagerConfig = null;
 }
コード例 #5
0
        public void Init(IQFrameworkContainer container)
        {
            Container = container;

            PackageKitArchitectureConfig.SendCommand <PackageManagerInitCommand>();

            mRootLayout = new VerticalLayout();

            new LabelView(LocaleText.FrameworkPackages).FontSize(12).AddTo(mRootLayout);

            var verticalLayout = new VerticalLayout("box").AddTo(mRootLayout);

            var searchView = new HorizontalLayout("box")
                             .AddTo(verticalLayout);

            searchView.AddChild(new LabelView("搜索:")
                                .FontBold()
                                .FontSize(12)
                                .Width(40));

            searchView.AddChild(
                new TextView().Height(20)
                .Do(search =>
            {
                search.Content
                .Bind(key => { PackageKitArchitectureConfig.SendCommand(new SearchCommand(key)); }).AddTo(mDisposableList);
            })
                );

            new ToolbarView()
            .Menus(new List <string>()
            {
                "all", PackageAccessRight.Public.ToString(), PackageAccessRight.Private.ToString()
            })
            .AddTo(verticalLayout)
            .Do(self =>
            {
                self.Index.Bind(value =>
                {
                    PackageManagerState.AccessRightIndex.Value = value;
                    PackageKitArchitectureConfig.SendCommand(new SearchCommand(PackageManagerState.SearchKey.Value));
                }).AddTo(mDisposableList);
            });

            mCategoriesSelectorView = new ToolbarView()
                                      .AddTo(verticalLayout)
                                      .Do(self =>
            {
                self.Index.Bind(value =>
                {
                    PackageManagerState.CategoryIndex.Value = value;
                    PackageKitArchitectureConfig.SendCommand(new SearchCommand(PackageManagerState.SearchKey.Value));
                }).AddTo(mDisposableList);
            });

            new PackageListHeaderView()
            .AddTo(verticalLayout);

            var packageList = new VerticalLayout("box")
                              .AddTo(verticalLayout);

            mRepositoryList = new ScrollLayout()
                              .Height(600)
                              .AddTo(packageList);

            PackageManagerState.Categories.Bind(value => { Categories = value; }).AddTo(mDisposableList);

            PackageManagerState.PackageRepositories
            .Bind(list => { this.PackageRepositories = list; }).AddTo(mDisposableList);
        }