@Service @Lazy @DependentInitialisation(value=ch.sahits.game.openpatrician.util.StartNewGameBean.class) public class EventEngine extends AbstractEngine
| Modifier and Type | Field and Description |
|---|---|
private IAIEventHandler |
aiEventHandler |
private com.google.common.eventbus.AsyncEventBus |
clientServerEventBus |
private ch.sahits.game.openpatrician.model.Date |
date |
private ch.sahits.game.openpatrician.model.DateService |
dateService |
private ch.sahits.game.openpatrician.util.service.DisableProperties |
disableService |
private EventService |
eventService |
private EventEngineState |
eventState |
private ScheduledExecutorService |
executor |
private static ch.sahits.game.openpatrician.util.RandomNameLoader |
femaleFirstNameLoader |
private static ch.sahits.game.openpatrician.util.RandomNameLoader |
lastNameLoader |
private org.apache.logging.log4j.Logger |
logger |
private static ch.sahits.game.openpatrician.util.RandomNameLoader |
maleFirstNameLoader |
private ch.sahits.game.openpatrician.model.map.IMap |
map |
private ch.sahits.game.openpatrician.model.PlayerList |
players |
private SocialRankChecker |
rankChecker |
private Random |
rnd |
private ShipFactory |
shipFactory |
private static ch.sahits.game.openpatrician.util.RandomNameLoader |
shipLoader |
private ServerSideTaskFactory |
taskFactory |
private ch.sahits.game.openpatrician.model.event.TimedUpdatableTaskList |
taskList |
private com.google.common.eventbus.AsyncEventBus |
timerEventBus |
| Constructor and Description |
|---|
EventEngine() |
| Modifier and Type | Method and Description |
|---|---|
private int |
calculateChildDeathLimit(ch.sahits.game.openpatrician.model.IPlayer player) |
private MarriageBrokerAnnouncementState |
createMarriageBrokerAnnouncementState(ShipEntersPortEvent event,
ch.sahits.game.openpatrician.model.ship.INavigableVessel ship) |
private List<ch.sahits.game.openpatrician.model.personal.IChild> |
filterNonAdultChildren(ch.sahits.game.openpatrician.model.IPlayer player) |
List<AbstractEngine> |
getChildren()
Any engine may hold various child engines.
|
(package private) boolean |
handleCatastropheEvents() |
(package private) void |
handleChildDeathEvent(boolean catastopheEvent,
ch.sahits.game.openpatrician.model.IPlayer player,
boolean childBirth,
boolean spouseDeath) |
void |
handleDailyUpdates(ClockTickDayChange event)
Trigger events that can happen any day like plague, fire, child birth
|
void |
handleEndOfMonthUpdates(PeriodicalTimeMonthEndUpdate event)
Trigger events at the end of month like rank update.
|
void |
handleEndOfWeekUpdates(PeriodicalTimeWeekEndUpdate event)
Trigger events to be checked at the end of week like sending the bill statement.
|
(package private) void |
handleMarriageState(ch.sahits.game.openpatrician.dialog.TargetedDialogStateWrapper wrappedDialogState) |
void |
handleShipEntersPort(ShipEntersPortEvent event)
Trigger the event for a marriage broker.
|
void |
handleWrappedStateEvents(ch.sahits.game.openpatrician.dialog.TargetedDialogStateWrapper dialogState)
Handle events that are targeted at a player and contain a dialog state.
|
private void |
init() |
private void |
postToHumanPlayer(ch.sahits.game.openpatrician.dialog.TargetedDialogStateWrapper dialogState,
String messageKey,
Object... messageParams) |
private void |
unregister() |
private final org.apache.logging.log4j.Logger logger
@Autowired private Random rnd
@Autowired @Qualifier(value="serverClientEventBus") private com.google.common.eventbus.AsyncEventBus clientServerEventBus
@Autowired @Qualifier(value="timerEventBus") private com.google.common.eventbus.AsyncEventBus timerEventBus
@Autowired private ch.sahits.game.openpatrician.model.Date date
@Autowired @Qualifier(value="serverTimer") private ScheduledExecutorService executor
@Autowired private ShipFactory shipFactory
@Autowired private IAIEventHandler aiEventHandler
@Autowired private SocialRankChecker rankChecker
@Autowired private ch.sahits.game.openpatrician.model.PlayerList players
@Autowired private ch.sahits.game.openpatrician.model.map.IMap map
@Autowired private ch.sahits.game.openpatrician.model.event.TimedUpdatableTaskList taskList
@Autowired private ch.sahits.game.openpatrician.model.DateService dateService
@Autowired private ch.sahits.game.openpatrician.util.service.DisableProperties disableService
@Autowired private ServerSideTaskFactory taskFactory
@Autowired private EventService eventService
@Autowired private EventEngineState eventState
private static ch.sahits.game.openpatrician.util.RandomNameLoader shipLoader
private static ch.sahits.game.openpatrician.util.RandomNameLoader maleFirstNameLoader
private static ch.sahits.game.openpatrician.util.RandomNameLoader femaleFirstNameLoader
private static ch.sahits.game.openpatrician.util.RandomNameLoader lastNameLoader
@PostConstruct private void init()
@PreDestroy private void unregister()
public List<AbstractEngine> getChildren()
AbstractEnginegetChildren in class AbstractEnginepublic void handleWrappedStateEvents(ch.sahits.game.openpatrician.dialog.TargetedDialogStateWrapper dialogState)
dialogState - void handleMarriageState(ch.sahits.game.openpatrician.dialog.TargetedDialogStateWrapper wrappedDialogState)
private void postToHumanPlayer(ch.sahits.game.openpatrician.dialog.TargetedDialogStateWrapper dialogState,
String messageKey,
Object... messageParams)
public void handleShipEntersPort(ShipEntersPortEvent event)
event - private MarriageBrokerAnnouncementState createMarriageBrokerAnnouncementState(ShipEntersPortEvent event, ch.sahits.game.openpatrician.model.ship.INavigableVessel ship)
public void handleEndOfWeekUpdates(PeriodicalTimeWeekEndUpdate event)
event - public void handleEndOfMonthUpdates(PeriodicalTimeMonthEndUpdate event)
event - public void handleDailyUpdates(ClockTickDayChange event)
event - void handleChildDeathEvent(boolean catastopheEvent,
ch.sahits.game.openpatrician.model.IPlayer player,
boolean childBirth,
boolean spouseDeath)
boolean handleCatastropheEvents()
private int calculateChildDeathLimit(ch.sahits.game.openpatrician.model.IPlayer player)
private List<ch.sahits.game.openpatrician.model.personal.IChild> filterNonAdultChildren(ch.sahits.game.openpatrician.model.IPlayer player)
Copyright © 2011-2017 Sahits GmbH. All Rights Reserved.