@Component(value="aiPlayer") @Scope(value="prototype") public class AIPlayer extends Player implements IAIPlayer
| Modifier and Type | Field and Description |
|---|---|
private IAICaptainHireStrategyType |
captainHireStrategyType |
private IAIConstructionSelectionStrategyType |
constructionSelectionType |
private IAIEventDecisionStrategyType |
eventDecitionStrategyType |
private static RandomNameLoader |
firstNameLoader |
private IAIGuildJoinStrategyType |
guildJoinStrategyType |
private IProductionConsumptionKnowledge |
knowledge |
private static RandomNameLoader |
lastNameLoader |
private static org.apache.logging.log4j.Logger |
LOGGER |
private IAIShipRepairStrategyType |
shipRepairStrategyType |
private IAITakeLoanStrategyType |
takeLoanStrategyType |
private Map<INavigableVessel,ITradeMissionData> |
tradeMissions |
private com.google.common.collect.LinkedHashMultimap<INavigableVessel,ITradeStep> |
tradeSteps |
private Map<INavigableVessel,IAITradeStrategyType> |
tradeStrategyType |
private Map<INavigableVessel,Boolean> |
waitingStatus
Waiting status of the trade for a ship.
|
| Constructor and Description |
|---|
AIPlayer(ICity homeTown,
org.joda.time.DateTime birthDate,
ICompany company) |
| Modifier and Type | Method and Description |
|---|---|
void |
addTradeStep(ITradeStep tradeStep,
INavigableVessel vessel)
Add a new trade step at the end of the list.
|
ITradeStep |
getNextTradeStep(INavigableVessel vessel)
Retrieve the next trade step that should be executed and remove it from the list.
|
private static PersonalData |
getPersonalData(ICity homeTown,
org.joda.time.DateTime birthDate) |
IProductionConsumptionKnowledge |
getProductionAndConsumptionKnowledge()
Retrieve the knowledge of production and consumption.
|
private static String |
getRandomFirstName() |
private static String |
getRandomLastName() |
ITradeMissionData |
getTradeMission(INavigableVessel vessel)
Retrieve the trade mission of a given vessel.
|
IAITradeStrategyType |
getTradeStrategyType(INavigableVessel vessel)
Retreive the the type of trade strategy.
|
boolean |
hasMoreTradeSteps(INavigableVessel vessel)
Check if there are further trade steps.
|
void |
injectTradeStep(ITradeStep tradeStep,
INavigableVessel vessel)
Inject a trade step at the beinning of the task list for the vessel
|
boolean |
isInitialized(INavigableVessel vessel)
Check if the trade strategy for the vessel is initialized.
|
void |
setTradeMission(INavigableVessel vessel,
ITradeMissionData tradeMission)
Add trade mission data fo a vessel.
|
void |
setTradeStrategyType(INavigableVessel vessel,
IAITradeStrategyType type)
Set the trade strategy type on the level of a vessel.
|
void |
updateTradeWaitingStatus(INavigableVessel vessel,
boolean wait)
Update the waiting status upon the execution of a trade step.
|
boolean |
waitingForTradeStepToFinish(INavigableVessel vessel)
Check if the next trade step can be executed for the vessel, or if the last
trade step requires waiting on an event.
|
addSelectableVessel, addShip, equals, findBuildings, findBuildings, findShips, findTradingOffice, getFleet, getHometown, getLastName, getName, getPersonalData, getSelectableVessels, getSpouseData, hashCode, marry, receiveSum, removeSelectableVessel, removeShip, spouseDies, updateCrimialDrive, updateRankclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitgetCaptainHireStrategyType, getConstructionSelectionType, getEventDecitionStrategyType, getGuildJoinStrategyType, getShipRepairStrategyType, getTakeLoanStrategyTypeaddSelectableVessel, addShip, findBuildings, findBuildings, findShips, findTradingOffice, getCareerLevel, getChildren, getCompany, getCriminalDrive, getFleet, getPersonalData, getSegmentedMap, getSelectableVessels, getSpouseData, marry, removeSelectableVessel, removeShip, setCareerLevel, setSegmentedMap, spouseDies, updateCrimialDrive, updateRankgetHometown, getLastName, getName, getRankreceiveSumgetLastName, getNameprivate static final org.apache.logging.log4j.Logger LOGGER
private com.google.common.collect.LinkedHashMultimap<INavigableVessel,ITradeStep> tradeSteps
private Map<INavigableVessel,ITradeMissionData> tradeMissions
private Map<INavigableVessel,Boolean> waitingStatus
private Map<INavigableVessel,IAITradeStrategyType> tradeStrategyType
private IAIShipRepairStrategyType shipRepairStrategyType
private IAIConstructionSelectionStrategyType constructionSelectionType
private IAICaptainHireStrategyType captainHireStrategyType
private IAIGuildJoinStrategyType guildJoinStrategyType
private IAITakeLoanStrategyType takeLoanStrategyType
private IAIEventDecisionStrategyType eventDecitionStrategyType
@Autowired private IProductionConsumptionKnowledge knowledge
private static RandomNameLoader firstNameLoader
private static RandomNameLoader lastNameLoader
private static PersonalData getPersonalData(ICity homeTown, org.joda.time.DateTime birthDate)
private static String getRandomFirstName()
private static String getRandomLastName()
public IProductionConsumptionKnowledge getProductionAndConsumptionKnowledge()
IAIPlayergetProductionAndConsumptionKnowledge in interface IAIPlayerpublic ITradeStep getNextTradeStep(INavigableVessel vessel)
IAIPlayergetNextTradeStep in interface IAIPlayervessel - for which the next trade step should be checked.public boolean hasMoreTradeSteps(INavigableVessel vessel)
IAIPlayerhasMoreTradeSteps in interface IAIPlayervessel - which should be checked.public void addTradeStep(ITradeStep tradeStep, INavigableVessel vessel)
IAIPlayeraddTradeStep in interface IAIPlayertradeStep - to be added.vessel - for which the step should be added.public void injectTradeStep(ITradeStep tradeStep, INavigableVessel vessel)
IAIPlayerinjectTradeStep in interface IAIPlayertradeStep - to be added.vessel - for which the step should be added.public ITradeMissionData getTradeMission(INavigableVessel vessel)
IAIPlayergetTradeMission in interface IAIPlayerpublic void setTradeMission(INavigableVessel vessel, ITradeMissionData tradeMission)
IAIPlayersetTradeMission in interface IAIPlayerpublic boolean waitingForTradeStepToFinish(INavigableVessel vessel)
IAIPlayerwaitingForTradeStepToFinish in interface IAIPlayervessel - for which the status should be checked.public void updateTradeWaitingStatus(INavigableVessel vessel, boolean wait)
IAIPlayerupdateTradeWaitingStatus in interface IAIPlayervessel - for which the status should be updated.wait - inicate if the next trade step should wait.public boolean isInitialized(INavigableVessel vessel)
IAIPlayerisInitialized in interface IAIPlayervessel - to be checkedpublic void setTradeStrategyType(INavigableVessel vessel, IAITradeStrategyType type)
setTradeStrategyType in interface IAIPlayervessel - type - public IAITradeStrategyType getTradeStrategyType(INavigableVessel vessel)
IAIPlayergetTradeStrategyType in interface IAIPlayerCopyright © 2011-2017 Sahits GmbH. All Rights Reserved.