FangEngine.screen_manager.terminal_screen.base_terminal_screen
This module contains the BaseTerminal class
Class BaseTerminalScreen
THe BaseTerminalScreen was designed after the curses library
This allows you to make curses-like applications within the engine
This class includes the 16 original colors available on the console as named constants
You are not limited to the 16 colors. You may use any color you wish
__init__(self, name: str, manager, font: Font, default_text_color: typing.Tuple[int, int, int] = None, default_background_color: typing.Tuple[int, int, int] = None)
Parameter name:
Parameter manager:
Parameter font: the pygame font to render all text as
Parameter default_text_color:
Parameter default_background_color:
add_character(self, x: int, y: int, text: str, color: typing.Tuple[int, int, int] = None, background: typing.Tuple[int, int, int] = None, antialias: bool = True, bold: bool = False, italic: bool = False, underline: bool = False)
Adds a single character to the terminal
Parameter x: starting x position of the string
Parameter y: starting y position of the string
Parameter text: the character to add. This CAN ONLY be 1 character in length or a ValueError will be thrown
Parameter color:
Parameter background:
Parameter antialias:
Parameter bold:
Parameter italic:
Parameter underline:
Returns
add_string(self, x: int, y: int, text: str, color: typing.Tuple[int, int, int] = None, background: typing.Tuple[int, int, int] = None, antialias: bool = True, bold: bool = False, italic: bool = False, underline: bool = False)
Adds a string of characters to the terminal
Parameter x: starting x position of the string
Parameter y: starting y position of the string
Parameter text:
Parameter color:
Parameter background:
Parameter antialias:
Parameter bold:
Parameter italic:
Parameter underline:
broadcast_message(self, message: typing.Union[list, tuple, str], sender = None)
Broadcasts a message to all objects in this screen
Parameter message:
Parameter sender: default is this object
center_mouse(self)
Moves the mouse cursor to the center of the screen
center_mouse_x(self)
Moves the mouse cursor so it is centered along the x axis
center_mouse_y(self)
Moves the mouse cursor so it is centered along the y axis
check_collisions(self, child: game_object.GameObject)
This method checks if the specified object is colliding with any other game object
clear_console(self, color: typing.Tuple[int, int, int] = None)
Clears the console
Parameter color: the color to fill. Default is black (0, 0, 0)
clear_game_objects(self)
Removes all game objects from the screen
convert_coords(self, x: float, y: float) -> typing.Tuple[float, float]
Converts the coordinates relative to the camera
get_cursor_pos(self) -> typing.Tuple[float, float]
Returns the mouse cursor's position
The position is automatically scaled so this is the safest way to get the position
handle_input(self, keys: list, mouse: tuple, delta_t: float)
hide_mouse(self)
Hides the mouse cursor
is_showing_dialog_box(self) -> bool
Returns if there are any dialog boxes currently being displayed
on_create(self)
This event is triggered when the screen is created
It is run once and only once
on_joystick_axis_motion(self, joystick, axis, value)
on_joystick_ball_motion(self, joystick, ball, rel)
on_joystick_button_down(self, joystick, button)
on_joystick_button_up(self, joystick, button)
on_joystick_hat_motion(self, joystick, hat, value)
on_key_down(self, unicode, key, mod)
on_key_up(self, key, mod)
on_message_receive(self, message: str, sender)
This event is triggered whenever a message is sent
Parameter message:
Parameter sender: the object which broadcast the message
on_mouse_button_down(self, pos, button)
on_mouse_button_up(self, pos, button)
on_mouse_motion(self, pos, rel, buttons)
on_screen_enter(self, previous_screen: str)
on_screen_leave(self, next_screen: str)
play_sound(self, sound: Sound, loops: int = 0, left: float = 1.0, right: float = 1.0)
Plays a sound
Parameter sound: the Pygame Sound object to play
Parameter loops:
Parameter left: the left volume to play the sound (0-1)
Parameter right: the right volume to play the sound (0-1)
For example, if left is 0 and right is 1, then the sound will only be played out of the right speaker/earphone
render(self, buffer: Surface)
Draws the terminal to the surface
show_dialog_box(self, box: dialog_box.DialogBox.__class__, args, kwargs)
Shows a new dialog box
Parameter box: the reference to the dialog box class to show
Parameter args:
Parameter kwargs:
show_mouse(self)
Shows the mouse cursor
spawn_object(self, object_class_ref: game_object.GameObject.__class__, x: float, y: float, args, kwargs) -> game_object.GameObject
Spawns a new game object
Parameter object_class_ref: the reference to the class. The class MUST extend the GameObject class
Parameter x:
Parameter y:
Parameter args:
Parameter kwargs:
update(self, delta_t: float)