Interface CampaignEventManagerAPI


public interface CampaignEventManagerAPI
  • Method Details

    • getProbability

      EventProbabilityAPI getProbability(String eventType, SectorEntityToken eventTargetEntity)
    • getProbability

      EventProbabilityAPI getProbability(String eventType, LocationAPI eventTargetLocation)
    • getProbability

      EventProbabilityAPI getProbability(String eventType, CampaignEventTarget target)
    • getProbability

      EventProbabilityAPI getProbability(String eventType, MarketAPI market)
    • getProbability

      EventProbabilityAPI getProbability(String eventType, Object custom)
    • isOngoing

      boolean isOngoing(EventProbabilityAPI ep)
      Whether an event associated with this probability is already ongoing. Only one event of a given type can occur at a time for a given event target.
      Parameters:
      ep -
      Returns:
    • isOngoing

      boolean isOngoing(CampaignEventTarget eventTarget, String eventType)
    • startEvent

      CampaignEventPlugin startEvent(CampaignEventTarget eventTarget, String eventType, Object param)
      Starts an event immediately, bypassing any probability checks. Returns null if failed to start the event because there's already an ongoing event of the same type, or the event plugin otherwise. param gets passed in to the event via CampaignEventPlugin.setParam().
      Parameters:
      eventTarget - can be null if the event doesn't have a specific target.
      eventType -
      param -
      Returns:
    • getOngoingEvent

      CampaignEventPlugin getOngoingEvent(CampaignEventTarget eventTarget, String eventType)
    • endEvent

      void endEvent(CampaignEventPlugin event)
    • primeEvent

      CampaignEventPlugin primeEvent(CampaignEventTarget eventTarget, String eventType, Object param)
      Initialize the event plugin, but don't actually start the event. Useful if the event is needed for doing token replacement in reports, for example, but it's not desired for the event to start. Will return null if the event can't be created for any reason - for example, if another event of the same type is ongoing for this target and the event doesn't allow multiple ongoing at the same time.
      Parameters:
      eventTarget -
      eventType -
      param -
      Returns:
    • startEvent

      void startEvent(CampaignEventPlugin primedEvent)
      Start an event previously created with primeEvent()
      Parameters:
      primedEvent -
    • getNumOngoing

      int getNumOngoing(String eventType)
    • getOngoingEvents

      List<CampaignEventPlugin> getOngoingEvents()