Add blocks_movement to the Entity class

This commit is contained in:
Eryn Wells 2022-05-08 23:36:56 -07:00
parent a13ef89832
commit e8b2729353

View file

@ -12,7 +12,7 @@ if TYPE_CHECKING:
from .ai import AI from .ai import AI
class Entity: class Entity:
'''A single-tile drawable entity with a symbol and position. '''A single-tile drawable entity with a symbol and position
Attributes Attributes
---------- ----------
@ -26,18 +26,20 @@ class Entity:
A single character string that represents this character on the map A single character string that represents this character on the map
ai : Type[AI], optional ai : Type[AI], optional
If an entity can act on its own behalf, an instance of an AI class If an entity can act on its own behalf, an instance of an AI class
blocks_movement : bool
True if this Entity blocks other Entities from moving through its position
''' '''
def __init__(self, symbol: str, *, def __init__(self, symbol: str, *,
position: Optional[Point] = None, position: Optional[Point] = None,
ai: Optional[Type['AI']] = None, blocks_movement: Optional[bool] = True,
fg: Optional[Tuple[int, int, int]] = None, fg: Optional[Tuple[int, int, int]] = None,
bg: Optional[Tuple[int, int, int]] = None): bg: Optional[Tuple[int, int, int]] = None):
self.position = position if position else Point() self.position = position if position else Point()
self.foreground = fg if fg else (255, 255, 255) self.foreground = fg if fg else (255, 255, 255)
self.background = bg self.background = bg
self.symbol = symbol self.symbol = symbol
self.ai = ai self.blocks_movement = blocks_movement
def print_to_console(self, console: tcod.Console) -> None: def print_to_console(self, console: tcod.Console) -> None:
'''Render this Entity to the console''' '''Render this Entity to the console'''
@ -47,7 +49,7 @@ class Entity:
return f'{self.symbol}[{self.position}]' return f'{self.symbol}[{self.position}]'
def __repr__(self) -> str: def __repr__(self) -> str:
return f'{self.__class__.__name__}({self.symbol}, position={self.position}, fg={self.foreground}, bg={self.background})' return f'{self.__class__.__name__}({self.symbol!r}, position={self.position!r}, fg={self.foreground!r}, bg={self.background!r})'
class Actor(Entity): class Actor(Entity):
def __init__(self, symbol: str, *, def __init__(self, symbol: str, *,