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)