Example #1
0
        private ManageInfoView CreateManageInfoView(ManageInfo manageInfo, bool opened, bool edited)
        {
            var manageAssetPath = AssetDatabase.GUIDToAssetPath(manageInfo.guid);
            var ignoreType      = assetManagement.GetIgnoreType(manageAssetPath);

            var view = new ManageInfoView(assetManagement, manageInfo, externalResourcesPath, shareResourcesPath, ignoreType, opened, edited);

            view.OnUpdateManageInfoAsObservable()
            .DelayFrame(1)
            .Subscribe(_ =>
            {
                assetManagement.UpdateManageInfo(view.ManageInfo);

                var updateAssetPaths = assetManagement.GetManageAssetPaths(view.ManageInfo);

                UpdateAssetInfo(updateAssetPaths);

                BuildManageInfoViews();
            })
            .AddTo(Disposable);

            view.OnDeleteManageInfoAsObservable()
            .DelayFrame(1)
            .Subscribe(_ =>
            {
                var updateAssetPaths = assetManagement.GetManageAssetPaths(view.ManageInfo);

                assetManagement.DeleteManageInfo(view.ManageInfo);

                UpdateAssetInfo(updateAssetPaths);

                BuildManageInfoViews();
            })
            .AddTo(Disposable);

            return(view);
        }
Example #2
0
        private void BuildContentsInfo(AssetManagement assetManagement)
        {
            assetContents = new Dictionary <string, AssetInfo[]>();

            var contents = new List <ContentsScrollView.Content>();

            var manageAssetPaths = assetManagement.GetManageAssetPaths(ManageInfo);

            ManagedAssetInfos = manageAssetPaths.Select(x => assetManagement.GetAssetInfo(x, ManageInfo)).ToArray();

            var assetBundleTargets = ManagedAssetInfos
                                     .Where(x => x.IsAssetBundle)
                                     .GroupBy(x => x.AssetBundle.AssetBundleName)
                                     .ToArray();

            foreach (var assetBundleTarget in assetBundleTargets)
            {
                var content = new ContentsScrollView.Content()
                {
                    label         = assetBundleTarget.Key,
                    isAssetBundle = true,
                };

                contents.Add(content);

                assetContents.Add(assetBundleTarget.Key, assetBundleTarget.ToArray());
            }

            var otherAssetTargets = ManagedAssetInfos
                                    .Where(x => !x.IsAssetBundle)
                                    .ToArray();

            foreach (var otherAssetTarget in otherAssetTargets)
            {
                var assetContent = new ContentsScrollView.Content()
                {
                    label         = otherAssetTarget.ResourcePath,
                    isAssetBundle = false,
                };

                contents.Add(assetContent);
            }

            contentsScrollView.Contents = contents.ToArray();
        }