Ejemplo n.º 1
0
        public AssetProcessService(ISettingsRepository settingsRepository, IEntryRulesRepository entryRulesRepository,
                                   IAssetDatabaseAdapter assetDatabaseAdapter, IAddressablesEditorAdapter addressablesEditorAdapter)
        {
            // Create AddressableAssetSettings asset if it does not exists.
            if (AddressableAssetSettingsDefaultObject.Settings == null)
            {
                AddressableAssetSettingsDefaultObject.Settings = AddressableAssetSettings.Create(
                    AddressableAssetSettingsDefaultObject.kDefaultConfigFolder,
                    AddressableAssetSettingsDefaultObject.kDefaultConfigAssetName, true, true);
            }

            var addressableSettings            = AddressableAssetSettingsDefaultObject.Settings;
            var addressablePathGenerateService = new AddressablePathGenerateDomainService();
            var addressGenerateService         = new AddressGenerateDomainService(addressablePathGenerateService);
            var groupNameService = new GroupNameGenerateDomainService(assetDatabaseAdapter);
            var entryOperationInfoBuildService =
                new EntryOperationInfoBuildDomainService(addressablePathGenerateService, addressGenerateService,
                                                         groupNameService, assetDatabaseAdapter);
            var entryOperationInfoApplyService =
                new EntryOperationInfoApplyDomainService(addressablesEditorAdapter, assetDatabaseAdapter);

            _domainService = new AssetProcessDomainService(settingsRepository, entryRulesRepository,
                                                           addressableSettings, assetDatabaseAdapter, entryOperationInfoBuildService,
                                                           entryOperationInfoApplyService, addressablePathGenerateService);
        }
        private EntryOperationInfoBuildDomainService CreateBuildService(
            FakeAssetDatabaseAdapter assetDatabaseAdapter = null)
        {
            var addressablesPathGenerateService = new AddressablePathGenerateDomainService();
            var addressGenerateService          = new AddressGenerateDomainService(addressablesPathGenerateService);

            assetDatabaseAdapter = assetDatabaseAdapter ?? new FakeAssetDatabaseAdapter();
            var groupNameService = new GroupNameGenerateDomainService(assetDatabaseAdapter);

            return(new EntryOperationInfoBuildDomainService(addressablesPathGenerateService, addressGenerateService,
                                                            groupNameService, assetDatabaseAdapter));
        }