Ballistica Logo

_babase module

A dummy stub module for the real _babase.

The real _babase is a compiled extension module and only available in the live engine. This dummy-module allows Pylint/Mypy/etc. to function reasonably well outside of that environment.

Make sure this file is never included in dirs seen by the engine!

In the future perhaps this can be a stub (.pyi) file, but we will need to make sure that it works with all our tools (mypy, pylint, pycharm).

NOTE: This file was autogenerated by batools.dummymodule; do not edit by hand.

class _babase.AppTimer(time: float, call: Callable[[], Any], repeat: bool = False)[source]

Bases: object

Timers are used to run code at later points in time.

Category: General Utility Classes

This class encapsulates a timer based on app-time. The underlying timer will be destroyed when this object is no longer referenced. If you do not want to worry about keeping a reference to your timer around, use the babase.apptimer() function instead to get a one-off timer.

##### Arguments ###### time > Length of time in seconds that the timer will wait before firing.

###### call > A callable Python object. Remember that the timer will retain a strong reference to the callable for as long as it exists, so you may want to look into concepts such as babase.WeakCall if that is not desired.

###### repeat > If True, the timer will fire repeatedly, with each successive firing having the same delay as the first.

##### Example

Use a Timer object to print repeatedly for a few seconds: … def say_it(): … babase.screenmessage(‘BADGER!’) … def stop_saying_it(): … global g_timer … g_timer = None … babase.screenmessage(‘MUSHROOM MUSHROOM!’) … # Create our timer; it will run as long as we have the self.t ref. … g_timer = babase.AppTimer(0.3, say_it, repeat=True) … # Now fire off a one-shot timer to kill it. … babase.apptimer(3.89, stop_saying_it)

class _babase.ContextCall(call: Callable)[source]

Bases: object

A context-preserving callable.

Category: General Utility Classes

A ContextCall wraps a callable object along with a reference to the current context (see babase.ContextRef); it handles restoring the context when run and automatically clears itself if the context it belongs to dies.

Generally you should not need to use this directly; all standard Ballistica callbacks involved with timers, materials, UI functions, etc. handle this under-the-hood so you don’t have to worry about it. The only time it may be necessary is if you are implementing your own callbacks, such as a worker thread that does some action and then runs some game code when done. By wrapping said callback in one of these, you can ensure that you will not inadvertently be keeping the current activity alive or running code in a torn-down (expired) context_ref.

You can also use babase.WeakCall for similar functionality, but ContextCall has the added bonus that it will not run during context_ref shutdown, whereas babase.WeakCall simply looks at whether the target object instance still exists.

##### Examples Example A: code like this can inadvertently prevent our activity (self) from ending until the operation completes, since the bound method we’re passing (self.dosomething) contains a strong-reference to self). >>> start_some_long_action(callback_when_done=self.dosomething)

Example B: in this case our activity (self) can still die properly; the callback will clear itself when the activity starts shutting down, becoming a harmless no-op and releasing the reference to our activity.

>>> start_long_action(
...     callback_when_done=babase.ContextCall(self.mycallback))
class _babase.ContextRef[source]

Bases: object

Store or use a ballistica context.

Category: General Utility Classes

Many operations such as bascenev1.newnode() or bascenev1.gettexture() operate implicitly on a current ‘context’. A context is some sort of state that functionality can implicitly use. Context determines, for example, which scene nodes or textures get added to without having to specify it explicitly in the newnode()/gettexture() call. Contexts can also affect object lifecycles; for example a babase.ContextCall will become a no-op when the context it was created in is destroyed.

In general, if you are a modder, you should not need to worry about contexts; mod code should mostly be getting run in the correct context and timers and other callbacks will take care of saving and restoring contexts automatically. There may be rare cases, however, where you need to deal directly with contexts, and that is where this class comes in.

Creating a babase.ContextRef() will capture a reference to the current context. Other modules may provide ways to access their contexts; for example a bascenev1.Activity instance has a ‘context’ attribute. You can also use babase.ContextRef.empty() to create a reference to no context. Some code such as UI calls may expect this and may complain if you try to use them within a context.

##### Usage ContextRefs are generally used with the Python ‘with’ statement, which sets the context they point to as current on entry and resets it to the previous value on exit.

##### Example Explicitly create a few UI bits with no context set. (UI stuff may complain if called within a context): >>> with bui.ContextRef.empty(): … my_container = bui.containerwidget()

classmethod empty() ContextRef[source]

Return a ContextRef pointing to no context.

This is useful when code should be run free of a context. For example, UI code generally insists on being run this way. Otherwise, callbacks set on the UI could inadvertently stop working due to a game activity ending, which would be unintuitive behavior.

is_empty() bool[source]

Whether the context was created as empty.

is_expired() bool[source]

Whether the context has expired.

class _babase.DisplayTimer(time: float, call: Callable[[], Any], repeat: bool = False)[source]

Bases: object

Timers are used to run code at later points in time.

Category: General Utility Classes

This class encapsulates a timer based on display-time. The underlying timer will be destroyed when this object is no longer referenced. If you do not want to worry about keeping a reference to your timer around, use the babase.displaytimer() function instead to get a one-off timer.

Display-time is a time value intended to be used for animation and other visual purposes. It will generally increment by a consistent amount each frame. It will pass at an overall similar rate to AppTime, but trades accuracy for smoothness.

##### Arguments ###### time > Length of time in seconds that the timer will wait before firing.

###### call > A callable Python object. Remember that the timer will retain a strong reference to the callable for as long as it exists, so you may want to look into concepts such as babase.WeakCall if that is not desired.

###### repeat > If True, the timer will fire repeatedly, with each successive firing having the same delay as the first.

##### Example

Use a Timer object to print repeatedly for a few seconds: … def say_it(): … babase.screenmessage(‘BADGER!’) … def stop_saying_it(): … global g_timer … g_timer = None … babase.screenmessage(‘MUSHROOM MUSHROOM!’) … # Create our timer; it will run as long as we have the self.t ref. … g_timer = babase.DisplayTimer(0.3, say_it, repeat=True) … # Now fire off a one-shot timer to kill it. … babase.displaytimer(3.89, stop_saying_it)

class _babase.Env[source]

Bases: object

Unchanging values for the current running app instance. Access the single shared instance of this class at babase.app.env.

android: bool

Is this build targeting an Android based OS?

api_version: int

The app’s api version.

Only Python modules and packages associated with the current API version number will be detected by the game (see the ba_meta tag). This value will change whenever substantial backward-incompatible changes are introduced to Ballistica APIs. When that happens, modules/packages should be updated accordingly and set to target the newer API version number.

arcade: bool

Whether the app is targeting an arcade-centric experience.

config_file_path: str

Where the app’s config file is stored on disk.

data_directory: str

Where bundled static app data lives.

debug: bool

Whether the app is running in debug mode.

Debug builds generally run substantially slower than non-debug builds due to compiler optimizations being disabled and extra checks being run.

demo: bool

Whether the app is targeting a demo experience.

device_name: str

Human readable name of the device running this app.

engine_build_number: int

Integer build number for the engine.

This value increases by at least 1 with each release of the engine. It is independent of the human readable version string.

engine_version: str

Human-readable version string for the engine; something like ‘1.3.24’.

This should not be interpreted as a number; it may contain string elements such as ‘alpha’, ‘beta’, ‘test’, etc. If a numeric version is needed, use build_number.

gui: bool

Whether the app is running with a gui.

This is the opposite of headless.

headless: bool

Whether the app is running headlessly (without a gui).

This is the opposite of gui.

python_directory_app: str | None

Path where the app expects its bundled modules to live.

Be aware that this value may be None if Ballistica is running in a non-standard environment, and that python-path modifications may cause modules to be loaded from other locations.

python_directory_app_site: str | None

Path where the app expects its bundled pip modules to live.

Be aware that this value may be None if Ballistica is running in a non-standard environment, and that python-path modifications may cause modules to be loaded from other locations.

python_directory_user: str | None

Path where the app expects its user scripts (mods) to live.

Be aware that this value may be None if Ballistica is running in a non-standard environment, and that python-path modifications may cause modules to be loaded from other locations.

supports_soft_quit: bool

Whether the running app supports ‘soft’ quit options.

This generally applies to mobile derived OSs, where an act of ‘quitting’ may leave the app running in the background waiting in case it is used again.

test: bool

Whether the app is running in test mode.

Test mode enables extra checks and features that are useful for release testing but which do not slow the game down significantly.

tv: bool

Whether the app is targeting a TV-centric experience.

vr: bool

Whether the app is currently running in VR.

class _babase.FeatureSetData[source]

Bases: object

Internal.

class _babase.SimpleSound[source]

Bases: object

A simple sound wrapper for internal use.

Do not use for gameplay code as it will only play locally.

play() None[source]

Play the sound locally.

class _babase.Vec3[source]
class _babase.Vec3(value: float)
class _babase.Vec3(values: Sequence[float])
class _babase.Vec3(x: float, y: float, z: float)

Bases: Sequence[float]

A vector of 3 floats.

Category: General Utility Classes

These can be created the following ways (checked in this order): - with no args, all values are set to 0 - with a single numeric arg, all values are set to that value - with a single three-member sequence arg, sequence values are copied - otherwise assumes individual x/y/z args (positional or keywords)

_abc_impl = <_abc._abc_data object>
cross(other: Vec3) Vec3[source]

Returns the cross product of this vector and another.

dot(other: Vec3) float[source]

Returns the dot product of this vector and another.

length() float[source]

Returns the length of the vector.

normalized() Vec3[source]

Returns a normalized version of the vector.

x: float

The vector’s X component.

y: float

The vector’s Y component.

z: float

The vector’s Z component.

_babase._uninferrable() Any[source]

Get an “Any” in mypy and “uninferrable” in Pylint.

_babase.add_clean_frame_callback(call: Callable) None[source]

(internal)

Provide an object to be called once the next non-progress-bar-frame has been rendered. Useful for queueing things to load in the background without elongating any current progress-bar-load.

_babase.allows_ticket_sales() bool[source]

(internal)

_babase.android_get_external_files_dir() str[source]

(internal)

Returns the android external storage path, or None if there is none on this device

_babase.app: App
_babase.app_instance_uuid() str[source]

(internal)

_babase.app_is_active() bool[source]

(internal)

_babase.appname() str[source]

(internal)

_babase.appnameupper() str[source]

(internal)

Return whether this build of the game can display full unicode such as Emoji, Asian languages, etc.

_babase.apptime() babase.AppTime[source]

Return the current app-time in seconds.

Category: General Utility Functions

App-time is a monotonic time value; it starts at 0.0 when the app launches and will never jump by large amounts or go backwards, even if the system time changes. Its progression will pause when the app is in a suspended state.

Note that the AppTime returned here is simply float; it just has a unique type in the type-checker’s eyes to help prevent it from being accidentally used with time functionality expecting other time types.

_babase.apptimer(time: float, call: Callable[[], Any]) None[source]

Schedule a callable object to run based on app-time.

Category: General Utility Functions

This function creates a one-off timer which cannot be canceled or modified once created. If you require the ability to do so, or need a repeating timer, use the babase.AppTimer class instead.

##### Arguments ###### time (float) > Length of time in seconds that the timer will wait before firing.

###### call (Callable[[], Any]) > A callable Python object. Note that the timer will retain a strong reference to the callable for as long as the timer exists, so you may want to look into concepts such as babase.WeakCall if that is not desired.

##### Examples Print some stuff through time: >>> babase.screenmessage(‘hello from now!’) >>> babase.apptimer(1.0, babase.Call(babase.screenmessage,

‘hello from the future!’))

>>> babase.apptimer(2.0, babase.Call(babase.screenmessage,
...                       'hello from the future 2!'))
_babase.asset_loads_allowed() bool[source]

(internal)

_babase.audio_shutdown_begin() None[source]

(internal)

_babase.audio_shutdown_is_complete() bool[source]

(internal)

_babase.charstr(char_id: babase.SpecialChar) str[source]

Get a unicode string representing a special character.

Category: General Utility Functions

Note that these utilize the private-use block of unicode characters (U+E000-U+F8FF) and are specific to the game; exporting or rendering them elsewhere will be meaningless.

See babase.SpecialChar for the list of available characters.

_babase.clipboard_get_text() str[source]

Return text currently on the system clipboard.

Category: General Utility Functions

Ensure that babase.clipboard_has_text() returns True before calling

this function.

_babase.clipboard_has_text() bool[source]

Return whether there is currently text on the clipboard.

Category: General Utility Functions

This will return False if no system clipboard is available; no need

to call babase.clipboard_is_supported() separately.

_babase.clipboard_is_supported() bool[source]

Return whether this platform supports clipboard operations at all.

Category: General Utility Functions

If this returns False, UIs should not show ‘copy to clipboard’ buttons, etc.

_babase.clipboard_set_text(value: str) None[source]

Copy a string to the system clipboard.

Category: General Utility Functions

Ensure that babase.clipboard_is_supported() returns True before adding

buttons/etc. that make use of this functionality.

_babase.commit_config(config: str) None[source]

(internal)

_babase.complete_shutdown() None[source]

Complete the shutdown process, triggering the app to exit.

_babase.contains_python_dist() bool[source]

(internal)

_babase.debug_print_py_err() None[source]

(internal)

Debugging func for tracking leaked Python errors in the C++ layer.

_babase.dev_console_add_button(label: str, x: float, y: float, width: float, height: float, call: Callable[[], Any] | None, h_anchor: str, label_scale: float, corner_radius: float, style: str, disabled: bool) None[source]

(internal)

_babase.dev_console_add_python_terminal() None[source]

(internal)

_babase.dev_console_add_text(text: str, x: float, y: float, h_anchor: str, h_align: str, v_align: str, scale: float) None[source]

(internal)

_babase.dev_console_base_scale() float[source]

(internal)

_babase.dev_console_input_adapter_finish() None[source]

(internal)

_babase.dev_console_request_refresh() None[source]

(internal)

_babase.dev_console_tab_height() float[source]

(internal)

_babase.dev_console_tab_width() float[source]

(internal)

_babase.displaytime() babase.DisplayTime[source]

Return the current display-time in seconds.

Category: General Utility Functions

Display-time is a time value intended to be used for animation and other visual purposes. It will generally increment by a consistent amount each frame. It will pass at an overall similar rate to AppTime, but trades accuracy for smoothness.

Note that the value returned here is simply a float; it just has a unique type in the type-checker’s eyes to help prevent it from being accidentally used with time functionality expecting other time types.

_babase.displaytimer(time: float, call: Callable[[], Any]) None[source]

Schedule a callable object to run based on display-time.

Category: General Utility Functions

This function creates a one-off timer which cannot be canceled or modified once created. If you require the ability to do so, or need a repeating timer, use the babase.DisplayTimer class instead.

Display-time is a time value intended to be used for animation and other visual purposes. It will generally increment by a consistent amount each frame. It will pass at an overall similar rate to AppTime, but trades accuracy for smoothness.

##### Arguments ###### time (float) > Length of time in seconds that the timer will wait before firing.

###### call (Callable[[], Any]) > A callable Python object. Note that the timer will retain a strong reference to the callable for as long as the timer exists, so you may want to look into concepts such as babase.WeakCall if that is not desired.

##### Examples Print some stuff through time: >>> babase.screenmessage(‘hello from now!’) >>> babase.displaytimer(1.0, babase.Call(babase.screenmessage, … ‘hello from the future!’)) >>> babase.displaytimer(2.0, babase.Call(babase.screenmessage, … ‘hello from the future 2!’))

_babase.do_apply_app_config() None[source]

(internal)

_babase.do_once() bool[source]

Return whether this is the first time running a line of code.

Category: General Utility Functions

This is used by ‘print_once()’ type calls to keep from overflowing logs. The call functions by registering the filename and line where The call is made from. Returns True if this location has not been registered already, and False if it has.

##### Example This print will only fire for the first loop iteration: >>> for i in range(10): … if babase.do_once(): … print(‘HelloWorld once from loop!’)

_babase.ehv() None[source]

(internal)

_babase.emit_log(name: str, level: str, timestamp: float, message: str) None[source]

(internal)

Sends a log message to the in-app console and any per-platform log destinations (Android log, etc.). This generally is not called directly and should instead be fed Python logging output.

_babase.empty_app_mode_activate() None[source]

(internal)

_babase.empty_app_mode_deactivate() None[source]

(internal)

_babase.empty_app_mode_handle_app_intent_default() None[source]

(internal)

_babase.empty_app_mode_handle_app_intent_exec(command: str) None[source]

(internal)

_babase.env() dict[source]

(internal)

Returns a dict containing general info about the operating environment such as version, platform, etc. This info is now exposed through babase.App; refer to those docs for info on specific elements.

_babase.evaluate_lstr(value: str) str[source]

(internal)

_babase.exec_arg() str | None[source]

(internal)

_babase.fade_screen(to: int = 0, time: float = 0.25, endcall: Callable[[], None] | None = None) None[source]

(internal)

Fade the local game screen in our out from black over a duration of time. if “to” is 0, the screen will fade out to black. Otherwise it will fade in from black. If endcall is provided, it will be run after a completely faded frame is drawn.

_babase.fatal_error(message: str) None[source]

Trigger a fatal error. Use this in situations where it is not possible for the engine to continue on in a useful way. This can sometimes help provide more clear information at the exact source of a problem as compared to raising an Exception. In the vast majority of cases, however, Exceptions should be preferred.

_babase.fullscreen_control_available() bool[source]

(internal)

_babase.fullscreen_control_get() bool[source]

(internal)

_babase.fullscreen_control_key_shortcut() str | None[source]

(internal)

_babase.fullscreen_control_set(val: bool) None[source]

(internal)

_babase.get_appconfig_builtin_keys() list[str][source]

(internal)

_babase.get_appconfig_default_value(key: str) Any[source]

(internal)

_babase.get_camera_position() tuple[float, ...][source]

(internal)

WARNING: these camera controls will not apply to network clients and may behave unpredictably in other ways. Use them only for tinkering.

_babase.get_camera_target() tuple[float, ...][source]

(internal)

WARNING: these camera controls will not apply to network clients and may behave unpredictably in other ways. Use them only for tinkering.

_babase.get_dev_console_input_text() str[source]

(internal)

_babase.get_display_resolution() tuple[int, int] | None[source]

(internal)

Return the currently selected display resolution for fullscreen display. Returns None if resolutions cannot be directly set.

_babase.get_draw_ui_bounds() bool[source]

(internal)

_babase.get_idle_time() int[source]

(internal)

Returns the amount of time since any game input has been received.

_babase.get_immediate_return_code() int | None[source]

(internal)

_babase.get_initial_app_config() dict[source]

(internal)

_babase.get_input_idle_time() float[source]

Return seconds since any local input occurred (touch, keypress, etc.).

_babase.get_low_level_config_value(key: str, default_value: int) int[source]

(internal)

_babase.get_max_graphics_quality() str[source]

(internal)

Return the max graphics-quality supported on the current hardware.

_babase.get_replays_dir() str[source]

(internal)

_babase.get_string_height(string: str, suppress_warning: bool = False) float[source]

(internal)

Given a string, returns its height using the standard small app font.

_babase.get_string_width(string: str, suppress_warning: bool = False) float[source]

(internal)

Given a string, returns its width using the standard small app font.

_babase.get_thread_name() str[source]

(internal)

Returns the name of the current thread. This may vary depending on platform and should not be used in logic; only for debugging.

_babase.get_ui_scale() str[source]

(internal)

_babase.get_v1_cloud_log() str[source]

(internal)

_babase.get_v1_cloud_log_file_path() str[source]

(internal)

Return the path to the app log file.

_babase.get_volatile_data_directory() str[source]

(internal)

Return the path to the app volatile data directory. This directory is for data generated by the app that does not need to be backed up and can be recreated if necessary.

_babase.getapp() babase.App[source]

(internal)

_babase.getsimplesound(name: str) SimpleSound[source]

(internal).

_babase.graphics_shutdown_begin() None[source]

(internal)

_babase.graphics_shutdown_is_complete() bool[source]

(internal)

_babase.has_user_run_commands() bool[source]

(internal)

_babase.hastouchscreen() bool[source]

(internal)

Return whether a touchscreen is present on the current device.

_babase.have_chars(text: str) bool[source]

(internal)

_babase.have_permission(permission: babase.Permission) bool[source]

(internal)

_babase.in_logic_thread() bool[source]

(internal)

Returns whether or not the current thread is the logic thread.

_babase.in_main_menu() bool[source]

(internal)

Returns whether or not the app-mode is currently in a main menu situation (as opposed to gameplay).

_babase.increment_analytics_count(name: str, increment: int = 1) None[source]

(internal)

_babase.increment_analytics_count_raw_2(name: str, uses_increment: bool = True, increment: int = 1) None[source]

(internal)

_babase.increment_analytics_counts_raw(name: str, increment: int = 1) None[source]

(internal)

_babase.invoke_main_menu() None[source]

High level call to bring up the main menu if it is not present.

This is essentially the same as pressing the menu button on a controller.

_babase.is_log_full() bool[source]

(internal)

_babase.is_os_playing_music() bool[source]

(internal)

Tells whether the OS is currently playing music of some sort.

(Used to determine whether the app should avoid playing its own)

_babase.is_xcode_build() bool[source]

(internal)

_babase.lock_all_input() None[source]

(internal)

Prevents all keyboard, mouse, and gamepad events from being processed.

_babase.login_adapter_back_end_active_change(login_type: str, active: bool) None[source]

(internal)

_babase.login_adapter_get_sign_in_token(login_type: str, attempt_id: int) None[source]

(internal)

_babase.mac_music_app_get_playlists() list[str][source]

(internal)

_babase.mac_music_app_get_volume() int[source]

(internal)

_babase.mac_music_app_init() None[source]

(internal)

_babase.mac_music_app_play_playlist(playlist: str) bool[source]

(internal)

_babase.mac_music_app_set_volume(volume: int) None[source]

(internal)

_babase.mac_music_app_stop() None[source]

(internal)

_babase.mark_log_sent() None[source]

(internal)

_babase.music_player_play(files: Any) None[source]

(internal)

Starts internal music file playback (for internal use)

_babase.music_player_set_volume(volume: float) None[source]

(internal)

Sets internal music player volume (for internal use)

_babase.music_player_shutdown() None[source]

(internal)

Finalizes internal music file playback (for internal use)

_babase.music_player_stop() None[source]

(internal)

Stops internal music file playback (for internal use)

_babase.native_review_request() None[source]

(internal)

_babase.native_review_request_supported() bool[source]

(internal)

_babase.native_stack_trace() str | None[source]

Return a native stack trace as a string, or None if not available.

Category: General Utility Functions

Stack traces contain different data and formatting across platforms. Only use them for debugging.

_babase.on_app_running() None[source]

(internal)

_babase.on_initial_app_mode_set() None[source]

(internal)

_babase.open_dir_externally(path: str) None[source]

(internal)

Open the provided dir in the default external app.

_babase.open_file_externally(path: str) None[source]

(internal)

Open the provided file in the default external app.

_babase.open_url(address: str, force_fallback: bool = False) None[source]

Open the provided URL.

Category: General Utility Functions

Attempts to open the provided url in a web-browser. If that is not possible (or force_fallback is True), instead displays the url as a string and/or qrcode.

_babase.overlay_web_browser_close() bool[source]

Close any open overlay web browser.

Category: General Utility Functions

_babase.overlay_web_browser_is_open() bool[source]

Return whether an overlay web browser is open currently.

Category: General Utility Functions

_babase.overlay_web_browser_is_supported() bool[source]

Return whether an overlay web browser is supported here.

Category: General Utility Functions

An overlay web browser is a small dialog that pops up over the top of the main engine window. It can be used for performing simple tasks such as sign-ins.

_babase.overlay_web_browser_open_url(address: str) None[source]

Open the provided URL in an overlayw web browser.

Category: General Utility Functions

An overlay web browser is a small dialog that pops up over the top of the main engine window. It can be used for performing simple tasks such as sign-ins.

_babase.pre_env() dict[source]

(internal)

Returns a dict containing general info about the operating environment such as version, platform, etc. This info is now exposed through babase.App; refer to those docs for info on specific elements.

_babase.print_context() None[source]

(internal)

Prints info about the current context_ref state; for debugging.

_babase.print_load_info() None[source]

(internal)

Category: General Utility Functions

_babase.push_back_press() None[source]

(internal)

_babase.pushcall(call: Callable, from_other_thread: bool = False, suppress_other_thread_warning: bool = False, other_thread_use_fg_context: bool = False, raw: bool = False) None[source]

Push a call to the logic event-loop. Category: General Utility Functions

This call expects to be used in the logic thread, and will automatically save and restore the babase.Context to behave seamlessly.

If you want to push a call from outside of the logic thread, however, you can pass ‘from_other_thread’ as True. In this case the call will always run in the UI context_ref on the logic thread or whichever context_ref is in the foreground if other_thread_use_fg_context is True. Passing raw=True will disable thread checks and context_ref sets/restores.

_babase.quit(confirm: bool = False, quit_type: babase.QuitType | None = None) None[source]

Quit the app.

Category: General Utility Functions

If ‘confirm’ is True, a confirm dialog will be presented if conditions allow; otherwise the quit will still be immediate. See docs for babase.QuitType for explanations of the optional ‘quit_type’ arg.

_babase.reached_end_of_babase() None[source]

A simple user-agent-string that should be used in any web requests made on behalf of the engine.

_babase.reload_media() None[source]

(internal)

Reload all currently loaded game media; useful for development/debugging.

_babase.request_permission(permission: babase.Permission) None[source]

(internal)

_babase.resolve_appconfig_value(key: str) Any[source]

(internal)

_babase.run_app() None[source]

Run the app to completion.

Note that this only works on platforms/builds where ballistica manages its own event loop.

_babase.safecolor(color: Sequence[float], target_intensity: float = 0.6) tuple[float, ...][source]

Given a color tuple, return a color safe to display as text.

Category: General Utility Functions

Accepts tuples of length 3 or 4. This will slightly brighten very dark colors, etc.

_babase.screenmessage(message: str | babase.Lstr, color: Sequence[float] | None = None, log: bool = False) None[source]

Print a message to the local client’s screen, in a given color.

Category: General Utility Functions

Note that this version of the function is purely for local display. To broadcast screen messages in network play, look for methods such as broadcastmessage() provided by the scene-version packages.

_babase.set_analytics_screen(screen: str) None[source]

Used for analytics to see where in the app players spend their time.

Category: General Utility Functions

Generally called when opening a new window or entering some UI. ‘screen’ should be a string description of an app location (‘Main Menu’, etc.)

_babase.set_app_config(config: dict) None[source]

(internal)

_babase.set_camera_manual(value: bool) None[source]

(internal)

WARNING: these camera controls will not apply to network clients and may behave unpredictably in other ways. Use them only for tinkering.

_babase.set_camera_position(x: float, y: float, z: float) None[source]

(internal)

WARNING: these camera controls will not apply to network clients and may behave unpredictably in other ways. Use them only for tinkering.

_babase.set_camera_target(x: float, y: float, z: float) None[source]

(internal)

WARNING: these camera controls will not apply to network clients and may behave unpredictably in other ways. Use them only for tinkering.

_babase.set_dev_console_input_text(val: str) None[source]

(internal)

_babase.set_draw_ui_bounds(value: bool) None[source]

(internal)

_babase.set_internal_language_keys(listobj: list[tuple[str, str]], random_names_list: list[tuple[str, str]]) None[source]

(internal)

_babase.set_low_level_config_value(key: str, value: int) None[source]

(internal)

_babase.set_platform_misc_read_vals(mode: str) None[source]

(internal)

_babase.set_thread_name(name: str) None[source]

(internal)

Sets the name of the current thread (on platforms where this is available). EventLoop names are only for debugging and should not be used in logic, as naming behavior can vary across platforms.

_babase.set_ui_account_state(signed_in: bool, name: str | None = None) None[source]

(internal)

_babase.set_ui_input_device(input_device_id: int | None) None[source]

(internal)

Sets the input-device that currently owns the user interface.

_babase.set_ui_scale(scale: str) None[source]

(internal)

_babase.setup_sigint() None[source]

(internal)

_babase.show_progress_bar() None[source]

(internal)

Category: General Utility Functions

_babase.shutdown_suppress_begin() bool[source]

(internal)

_babase.shutdown_suppress_count() int[source]

(internal)

_babase.shutdown_suppress_end() None[source]

(internal)

_babase.submit_analytics_counts() None[source]

(internal)

_babase.supports_max_fps() bool[source]

(internal)

_babase.supports_open_dir_externally() bool[source]

(internal)

Return whether the current app/platform supports opening dirs externally (in the Mac Finder, Windows Explorer, etc.).

_babase.supports_unicode_display() bool[source]

Return whether we can display all unicode characters in the gui.

_babase.supports_vsync() bool[source]

(internal)

_babase.temp_testing() bool[source]

(internal)

_babase.unlock_all_input() None[source]

(internal)

Resumes normal keyboard, mouse, and gamepad event processing.

_babase.update_internal_logger_levels() None[source]

Update the native layer to re-cache Python logger levels.

The native layer caches logger levels so it can efficiently avoid making Python log calls for disabled logger levels. If any logger levels are changed at runtime, call this method after to instruct the native layer to regenerate its cache so the change is properly reflected in logs originating from the native layer.

_babase.user_agent_string() str[source]

(internal)

_babase.user_ran_commands() None[source]

(internal)

_babase.using_game_center() bool[source]

(internal)

_babase.using_google_play_game_services() bool[source]

(internal)

_babase.v1_cloud_log(message: str) None[source]

(internal)

Push messages to the old v1 cloud log.

_babase.workspaces_in_use() bool[source]

(internal)

Returns whether workspaces functionality has been enabled at any point this run.