Class UnableToAffordExpensesNagDialog

java.lang.Object
mekhq.gui.baseComponents.immersiveDialogs.ImmersiveDialogNag
mekhq.gui.dialog.nagDialogs.UnableToAffordExpensesNagDialog

public class UnableToAffordExpensesNagDialog extends ImmersiveDialogNag
A dialog class used to notify players when campaign expenses cannot be afforded.

The UnableToAffordExpensesNagDialog extends ImmersiveDialogNag and is specifically designed to alert players about financial issues in the campaign. It utilizes predefined constants, including the LOGISTICS speaker and the NAG_UNABLE_TO_AFFORD_EXPENSES identifier, to configure the dialog's behavior and content.

  • Constructor Details

    • UnableToAffordExpensesNagDialog

      public UnableToAffordExpensesNagDialog(Campaign campaign)
      Constructs a new UnableToAffordExpensesNagDialog to display a warning about unaffordable campaign expenses.

      This constructor initializes the dialog with preconfigured values, such as the NAG_UNABLE_TO_AFFORD_EXPENSES constant for managing dialog suppression, the "UnableToAffordExpensesNagDialog" localization key for retrieving dialog content, and the LOGISTICS speaker for delivering the message.

      Parameters:
      campaign - The Campaign instance associated with this dialog. Provides access to campaign data required for constructing the nag dialog.
  • Method Details

    • getInCharacterMessage

      protected String getInCharacterMessage(Campaign campaign, String key, String commanderAddress)
      Description copied from class: ImmersiveDialogNag
      Retrieves an in-character message formatted with the provided commander address.

      This method fetches the text associated with an in-character message key from the resource bundle and formats it using the provided address of the commander.

      Overrides:
      getInCharacterMessage in class ImmersiveDialogNag
      Parameters:
      campaign - The campaign context.
      key - The reference bundle key.
      commanderAddress - The address of the commander to be inserted into the formatted message.
      Returns:
      A formatted in-character message as a String.
    • checkNag

      public static boolean checkNag(Campaign campaign)
      Checks if a nag dialog should be displayed for the inability to afford expenses in the given campaign.

      The method evaluates the following conditions to determine if the nag dialog should appear:

      • If it is the last day of the month in the campaign.
      • If the nag dialog for the inability to afford expenses has not been ignored in the user options.
      • If the campaign is unable to afford its expenses.
      Parameters:
      campaign - the Campaign to check for nagging conditions
      Returns:
      true if the nag dialog should be displayed, false otherwise