GameServiceConfiguration.kt
package io.github.lishangbu.avalon.game.service.config
import io.github.lishangbu.avalon.game.battle.engine.spi.effect.EffectDefinitionRepository
import io.github.lishangbu.avalon.game.service.effect.SmartBattleEffectImportService
import io.github.lishangbu.avalon.game.service.effect.SmartImportingEffectDefinitionRepository
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
/**
* `avalon-game-service` 默认装配。
*/
@Configuration(proxyBeanMethods = false)
class GameServiceConfiguration {
@Bean
@ConditionalOnMissingBean(EffectDefinitionRepository::class)
fun effectDefinitionRepository(importService: SmartBattleEffectImportService): EffectDefinitionRepository = SmartImportingEffectDefinitionRepository(importService)
}