Class DefaultStrategyProvider
- java.lang.Object
-
- ch.sahits.game.openpatrician.engine.player.DefaultStrategyProvider
-
- All Implemented Interfaces:
IAIStrategyProvider
@Service @Lazy @DependentInitialisation(StartNewGameBean.class) public class DefaultStrategyProvider extends java.lang.Object implements IAIStrategyProvider
Provide the AI strategies defined in the core module.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.List<IAIConstructionSelectionStrategyType>
constructionSelections
private org.springframework.context.ApplicationContext
context
private static java.util.List<IAIEventDecisionStrategyType>
eventDecisionStrategies
private static java.util.List<IAIGuildJoinStrategyType>
guildJoinStrategies
private static java.util.List<IAICaptainHireStrategyType>
hireCaptainStrategies
private static java.util.List<IAIHireSailorsStrategyType>
hireSailorsStrategies
private static java.util.List<IAIHireTradeManagerStrategyType>
hireTradeManagerStrategies
private static java.util.List<IAIShipRepairStrategyType>
repairStrategies
private static java.util.List<IAIShipUpgradeStrategyType>
shipUpgradeStrategies
private static java.util.List<IAITakeLoanStrategyType>
takeLoanStrategies
private static java.util.List<IAITradeStrategyType>
tradeStrategies
private static java.util.List<IAIBuyWeaponStrategyType>
weaponBuyStrategies
-
Constructor Summary
Constructors Constructor Description DefaultStrategyProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<IAICaptainHireStrategyType>
getCaptainHireStrategies()
Provide a list of strategies to hire a captain.java.util.List<IAIConstructionSelectionStrategyType>
getConstructionSelectionStrategies()
Provide a list of strategies to select a ship construction strategy.java.util.List<IAIEventDecisionStrategyType>
getEventDecisionStrategies()
Provide a list of strategies to decide on events.java.util.List<IAIGuildJoinStrategyType>
getGuildJoinStrategies()
Provide a list of strategies to join a guild.java.util.List<IAIHireSailorsStrategyType>
getHireSailorStrategies()
Provide a list of strategies for hiring sailors.java.util.List<IAIHireTradeManagerStrategyType>
getHireTradeManagerStrategies()
Provide a list of strategies for hiring and dismissing trage managers.java.util.List<IAIShipRepairStrategyType>
getRepairStrategies()
Provide a list of repair strategy types.java.util.List<IAIShipUpgradeStrategyType>
getShipUpgradeStrategies()
Retrieve a list of strategies to upgrade a ship.java.util.List<IAITakeLoanStrategyType>
getTakeLoanStrategies()
Provide a list of take loan strategies.java.util.List<IAITradeStrategyType>
getTradeStrategies()
Provide a list of AI strategy types for the trading.java.util.List<IAIBuyWeaponStrategyType>
getWeaponBuyStrategies()
Provide a list of strategies for buying weapons.private void
init()
-
-
-
Field Detail
-
repairStrategies
private static java.util.List<IAIShipRepairStrategyType> repairStrategies
-
tradeStrategies
private static java.util.List<IAITradeStrategyType> tradeStrategies
-
takeLoanStrategies
private static java.util.List<IAITakeLoanStrategyType> takeLoanStrategies
-
constructionSelections
private static java.util.List<IAIConstructionSelectionStrategyType> constructionSelections
-
hireCaptainStrategies
private static java.util.List<IAICaptainHireStrategyType> hireCaptainStrategies
-
guildJoinStrategies
private static java.util.List<IAIGuildJoinStrategyType> guildJoinStrategies
-
eventDecisionStrategies
private static java.util.List<IAIEventDecisionStrategyType> eventDecisionStrategies
-
hireTradeManagerStrategies
private static java.util.List<IAIHireTradeManagerStrategyType> hireTradeManagerStrategies
-
weaponBuyStrategies
private static java.util.List<IAIBuyWeaponStrategyType> weaponBuyStrategies
-
hireSailorsStrategies
private static java.util.List<IAIHireSailorsStrategyType> hireSailorsStrategies
-
shipUpgradeStrategies
private static java.util.List<IAIShipUpgradeStrategyType> shipUpgradeStrategies
-
context
@Autowired private org.springframework.context.ApplicationContext context
-
-
Method Detail
-
init
@PostConstruct private void init()
-
getTradeStrategies
public java.util.List<IAITradeStrategyType> getTradeStrategies()
Description copied from interface:IAIStrategyProvider
Provide a list of AI strategy types for the trading.- Specified by:
getTradeStrategies
in interfaceIAIStrategyProvider
- Returns:
- list of trade strategy types
-
getRepairStrategies
public java.util.List<IAIShipRepairStrategyType> getRepairStrategies()
Description copied from interface:IAIStrategyProvider
Provide a list of repair strategy types.- Specified by:
getRepairStrategies
in interfaceIAIStrategyProvider
- Returns:
- list of ship repair strategy types
-
getTakeLoanStrategies
public java.util.List<IAITakeLoanStrategyType> getTakeLoanStrategies()
Description copied from interface:IAIStrategyProvider
Provide a list of take loan strategies.- Specified by:
getTakeLoanStrategies
in interfaceIAIStrategyProvider
- Returns:
- list of loan taking strategy types
-
getConstructionSelectionStrategies
public java.util.List<IAIConstructionSelectionStrategyType> getConstructionSelectionStrategies()
Description copied from interface:IAIStrategyProvider
Provide a list of strategies to select a ship construction strategy.- Specified by:
getConstructionSelectionStrategies
in interfaceIAIStrategyProvider
- Returns:
- list of ship construction strategy types
-
getCaptainHireStrategies
public java.util.List<IAICaptainHireStrategyType> getCaptainHireStrategies()
Description copied from interface:IAIStrategyProvider
Provide a list of strategies to hire a captain.- Specified by:
getCaptainHireStrategies
in interfaceIAIStrategyProvider
- Returns:
- list of hairing captain strategy types
-
getGuildJoinStrategies
public java.util.List<IAIGuildJoinStrategyType> getGuildJoinStrategies()
Description copied from interface:IAIStrategyProvider
Provide a list of strategies to join a guild.- Specified by:
getGuildJoinStrategies
in interfaceIAIStrategyProvider
- Returns:
- list of joining guilds strategy types
-
getEventDecisionStrategies
public java.util.List<IAIEventDecisionStrategyType> getEventDecisionStrategies()
Description copied from interface:IAIStrategyProvider
Provide a list of strategies to decide on events.- Specified by:
getEventDecisionStrategies
in interfaceIAIStrategyProvider
- Returns:
- list of event decision strategy types
-
getHireTradeManagerStrategies
public java.util.List<IAIHireTradeManagerStrategyType> getHireTradeManagerStrategies()
Description copied from interface:IAIStrategyProvider
Provide a list of strategies for hiring and dismissing trage managers.- Specified by:
getHireTradeManagerStrategies
in interfaceIAIStrategyProvider
- Returns:
- list of strategy types to hire trade managers
-
getWeaponBuyStrategies
public java.util.List<IAIBuyWeaponStrategyType> getWeaponBuyStrategies()
Description copied from interface:IAIStrategyProvider
Provide a list of strategies for buying weapons.- Specified by:
getWeaponBuyStrategies
in interfaceIAIStrategyProvider
- Returns:
- list of strategy types to buy weapons
-
getHireSailorStrategies
public java.util.List<IAIHireSailorsStrategyType> getHireSailorStrategies()
Description copied from interface:IAIStrategyProvider
Provide a list of strategies for hiring sailors.- Specified by:
getHireSailorStrategies
in interfaceIAIStrategyProvider
- Returns:
- list of strategy types to hire sailors
-
getShipUpgradeStrategies
public java.util.List<IAIShipUpgradeStrategyType> getShipUpgradeStrategies()
Description copied from interface:IAIStrategyProvider
Retrieve a list of strategies to upgrade a ship.- Specified by:
getShipUpgradeStrategies
in interfaceIAIStrategyProvider
- Returns:
- list of strategy types to upgrade ships.
-
-