@Component(value="aiPlayer") @Scope(value="prototype") public class AIPlayer extends Player implements IAIPlayer
| Modifier and Type | Field and Description |
|---|---|
private static RandomNameLoader |
firstNameLoader |
private IProductionConsumptionKnowledge |
knowledge |
private static RandomNameLoader |
lastNameLoader |
private IAIShipRepairStrategyType |
shipRepairStrategyType |
private IAITakeLoanStrategyType |
takeLoanStrategyType |
private Map<INavigableVessel,ITradeMissionData> |
tradeMissions |
private com.google.common.collect.LinkedHashMultimap<INavigableVessel,ITradeStep> |
tradeSteps |
private IAITradeStrategyType |
tradeStrategyType |
private Map<INavigableVessel,Boolean> |
waitingStatus |
| 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.
|
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
|
void |
setTradeMission(INavigableVessel vessel,
ITradeMissionData tradeMission)
Add trade mission data fo 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, isMale, marry, receiveSum, removeSelectableVessel, removeShip, updateRank, widowclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitgetShipRepairStrategyType, getTakeLoanStrategyType, getTradeStrategyTypeaddSelectableVessel, addShip, findBuildings, findBuildings, findShips, findTradingOffice, getCareerLevel, getCompany, getFleet, getPersonalData, getSegmentedMap, getSelectableVessels, getSpouseData, isMale, removeSelectableVessel, removeShip, setSegmentedMap, updateRankgetHometown, getLastName, getName, getRankreceiveSumgetLastName, getNameprivate com.google.common.collect.LinkedHashMultimap<INavigableVessel,ITradeStep> tradeSteps
private Map<INavigableVessel,ITradeMissionData> tradeMissions
private Map<INavigableVessel,Boolean> waitingStatus
private IAITradeStrategyType tradeStrategyType
private IAIShipRepairStrategyType shipRepairStrategyType
private IAITakeLoanStrategyType takeLoanStrategyType
@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.Copyright © 2011-2016 Sahits GmbH. All Rights Reserved.