# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import curses from squirrelbattle.display.display import Box, Display from squirrelbattle.game import Game class MessageDisplay(Display): """ A class to handle the display of popup messages. """ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.box = Box(fg_border_color=curses.COLOR_RED, *args, **kwargs) self.message = "" self.pad = self.newpad(1, 1) def update(self, game: Game) -> None: self.message = game.message def display(self) -> None: self.box.refresh(self.y - 1, self.x - 2, self.height + 2, self.width + 4) self.box.display() self.pad.erase() self.addstr(self.pad, 0, 0, self.message, bold=True) self.refresh_pad(self.pad, 0, 0, self.y, self.x, self.height + self.y - 1, self.width + self.x - 1)