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); }
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(); }