FangEngine.screen_manager.terminal_screen.system_console_screen
This module contains the SystemConsoleScreen
Class SystemConsoleScreen
The SystemConsoleScreen simulates a terminal (ex. cmd on Windows and Bash on Linux)
__init__(self, name: str, manager, font: Font)
Parameter name:
Parameter manager:
Parameter font: The pygame font to render all text as
add_blank_line(self)
Inserts a blank like into the command history
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:
add_text(self, text: str)
Adds a message to the command history
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 of all text
Parameter color: the new color to use for the background
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_input(self, command: str)
This event is triggered whenever the user inputs a command
Parameter command:
Returns
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)
This method can be called to simulate a keypress or overridden to add additional functionality
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
redraw_text(self)
Redraws the console
render(self, buffer: Surface)
Draws the terminal to the surface
set_prompt(self, prompt: str)
Sets the prompt where the user may issue commands
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)