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