Ejemplo n.º 1
0
        private void Initialize(string externalResourcesPath, AssetManageConfig assetManageConfig)
        {
            // コンパイルが始まったら閉じる.
            CompileNotification.OnCompileStartAsObservable()
            .Subscribe(_ => Close())
            .AddTo(Disposable);

            assetManageConfig.Optimisation();

            assetManageModel = new AssetManageModel();
            assetManageModel.Initialize();

            assetManageManager = new AssetManageManager();
            assetManageManager.Initialize(externalResourcesPath, assetManageConfig);

            manageAssetView = new ManageAssetView();
            manageAssetView.Initialize(assetManageModel, assetManageManager);

            assetManageModel.OnRequestRepaintAsObservable().Subscribe(_ => Repaint()).AddTo(Disposable);
        }
Ejemplo n.º 2
0
        private void SaveConfigAsset()
        {
            // 後から除外設定などを書き換えた時の為に初期化時に更新を行う.
            foreach (var item in manageInfos)
            {
                if (item == null)
                {
                    continue;
                }

                if (item.assetObject == null)
                {
                    continue;
                }

                var assetPath = AssetDatabase.GetAssetPath(item.assetObject);

                var manageInfo = GetManageInfo(assetPath);
                var ignoreType = GetIgnoreType(assetPath);

                if (manageInfo == null)
                {
                    manageInfo = new ManageInfo(item.assetObject);
                }

                manageInfo.isAssetBundle = !ignoreType.HasValue || ignoreType != IgnoreType.IgnoreAssetBundle;
            }

            Reflection.SetPrivateField(config, "groupInfos", groupInfos);
            Reflection.SetPrivateField(config, "manageInfos", manageInfos);

            // 最適化.
            config.Optimisation();

            // 保存.
            UnityEditorUtility.SaveAsset(config);
        }