mirror of
https://github.com/hypervortex/VH-Bombsquad-Modded-Server-Files
synced 2025-11-07 17:36:08 +00:00
396 lines
8.4 KiB
Python
396 lines
8.4 KiB
Python
# Released under the MIT License. See LICENSE for details.
|
|
#
|
|
"""The public face of Ballistica.
|
|
|
|
This top level module is a collection of most commonly used functionality.
|
|
For many modding purposes, the bits exposed here are all you'll need.
|
|
In some specific cases you may need to pull in individual submodules instead.
|
|
"""
|
|
# pylint: disable=redefined-builtin
|
|
|
|
from _ba import (
|
|
CollideModel,
|
|
Context,
|
|
ContextCall,
|
|
Data,
|
|
InputDevice,
|
|
Material,
|
|
Model,
|
|
Node,
|
|
SessionPlayer,
|
|
Sound,
|
|
Texture,
|
|
Timer,
|
|
Vec3,
|
|
Widget,
|
|
buttonwidget,
|
|
camerashake,
|
|
checkboxwidget,
|
|
columnwidget,
|
|
containerwidget,
|
|
do_once,
|
|
emitfx,
|
|
getactivity,
|
|
getcollidemodel,
|
|
getmodel,
|
|
getnodes,
|
|
getsession,
|
|
getsound,
|
|
gettexture,
|
|
hscrollwidget,
|
|
imagewidget,
|
|
newactivity,
|
|
newnode,
|
|
playsound,
|
|
printnodes,
|
|
ls_objects,
|
|
ls_input_devices,
|
|
pushcall,
|
|
quit,
|
|
rowwidget,
|
|
safecolor,
|
|
screenmessage,
|
|
scrollwidget,
|
|
set_analytics_screen,
|
|
charstr,
|
|
textwidget,
|
|
time,
|
|
timer,
|
|
open_url,
|
|
widget,
|
|
clipboard_is_supported,
|
|
clipboard_has_text,
|
|
clipboard_get_text,
|
|
clipboard_set_text,
|
|
getdata,
|
|
in_logic_thread,
|
|
)
|
|
from ba._accountv2 import AccountV2Handle
|
|
from ba._activity import Activity
|
|
from ba._plugin import PotentialPlugin, Plugin, PluginSubsystem
|
|
from ba._actor import Actor
|
|
from ba._player import PlayerInfo, Player, EmptyPlayer, StandLocation
|
|
from ba._nodeactor import NodeActor
|
|
from ba._app import App
|
|
from ba._cloud import CloudSubsystem
|
|
from ba._coopgame import CoopGameActivity
|
|
from ba._coopsession import CoopSession
|
|
from ba._dependency import (
|
|
Dependency,
|
|
DependencyComponent,
|
|
DependencySet,
|
|
AssetPackage,
|
|
)
|
|
from ba._generated.enums import (
|
|
TimeType,
|
|
Permission,
|
|
TimeFormat,
|
|
SpecialChar,
|
|
InputType,
|
|
UIScale,
|
|
)
|
|
from ba._error import (
|
|
print_exception,
|
|
print_error,
|
|
ContextError,
|
|
NotFoundError,
|
|
PlayerNotFoundError,
|
|
SessionPlayerNotFoundError,
|
|
NodeNotFoundError,
|
|
ActorNotFoundError,
|
|
InputDeviceNotFoundError,
|
|
WidgetNotFoundError,
|
|
ActivityNotFoundError,
|
|
TeamNotFoundError,
|
|
MapNotFoundError,
|
|
SessionTeamNotFoundError,
|
|
SessionNotFoundError,
|
|
DelegateNotFoundError,
|
|
DependencyError,
|
|
)
|
|
from ba._freeforallsession import FreeForAllSession
|
|
from ba._gameactivity import GameActivity
|
|
from ba._gameresults import GameResults
|
|
from ba._settings import (
|
|
Setting,
|
|
IntSetting,
|
|
FloatSetting,
|
|
ChoiceSetting,
|
|
BoolSetting,
|
|
IntChoiceSetting,
|
|
FloatChoiceSetting,
|
|
)
|
|
from ba._language import Lstr, LanguageSubsystem
|
|
from ba._map import Map, getmaps
|
|
from ba._session import Session
|
|
from ba._ui import UISubsystem
|
|
from ba._servermode import ServerController
|
|
from ba._score import ScoreType, ScoreConfig
|
|
from ba._stats import PlayerScoredMessage, PlayerRecord, Stats
|
|
from ba._team import SessionTeam, Team, EmptyTeam
|
|
from ba._teamgame import TeamGameActivity
|
|
from ba._dualteamsession import DualTeamSession
|
|
from ba._achievement import Achievement, AchievementSubsystem
|
|
from ba._appconfig import AppConfig
|
|
from ba._appdelegate import AppDelegate
|
|
from ba._apputils import is_browser_likely_available, garbage_collect
|
|
from ba._campaign import Campaign
|
|
from ba._gameutils import (
|
|
GameTip,
|
|
animate,
|
|
animate_array,
|
|
show_damage_count,
|
|
timestring,
|
|
cameraflash,
|
|
)
|
|
from ba._general import (
|
|
WeakCall,
|
|
Call,
|
|
existing,
|
|
Existable,
|
|
verify_object_death,
|
|
storagename,
|
|
getclass,
|
|
)
|
|
from ba._keyboard import Keyboard
|
|
from ba._level import Level
|
|
from ba._lobby import Lobby, Chooser
|
|
from ba._math import normalized_color, is_point_in_box, vec3validate
|
|
from ba._meta import MetadataSubsystem
|
|
from ba._messages import (
|
|
UNHANDLED,
|
|
OutOfBoundsMessage,
|
|
DeathType,
|
|
DieMessage,
|
|
PlayerDiedMessage,
|
|
StandMessage,
|
|
PickUpMessage,
|
|
DropMessage,
|
|
PickedUpMessage,
|
|
DroppedMessage,
|
|
ShouldShatterMessage,
|
|
ImpactDamageMessage,
|
|
FreezeMessage,
|
|
ThawMessage,
|
|
HitMessage,
|
|
CelebrateMessage,
|
|
)
|
|
from ba._music import (
|
|
setmusic,
|
|
MusicPlayer,
|
|
MusicType,
|
|
MusicPlayMode,
|
|
MusicSubsystem,
|
|
)
|
|
from ba._powerup import PowerupMessage, PowerupAcceptMessage
|
|
from ba._multiteamsession import MultiTeamSession
|
|
from ba.ui import Window, UIController, uicleanupcheck
|
|
from ba._collision import Collision, getcollision
|
|
|
|
app: App
|
|
|
|
__all__ = [
|
|
'AccountV2Handle',
|
|
'Achievement',
|
|
'AchievementSubsystem',
|
|
'Activity',
|
|
'ActivityNotFoundError',
|
|
'Actor',
|
|
'ActorNotFoundError',
|
|
'animate',
|
|
'animate_array',
|
|
'app',
|
|
'App',
|
|
'AppConfig',
|
|
'AppDelegate',
|
|
'AssetPackage',
|
|
'BoolSetting',
|
|
'buttonwidget',
|
|
'Call',
|
|
'cameraflash',
|
|
'camerashake',
|
|
'Campaign',
|
|
'CelebrateMessage',
|
|
'charstr',
|
|
'checkboxwidget',
|
|
'ChoiceSetting',
|
|
'Chooser',
|
|
'clipboard_get_text',
|
|
'clipboard_has_text',
|
|
'clipboard_is_supported',
|
|
'clipboard_set_text',
|
|
'CollideModel',
|
|
'Collision',
|
|
'columnwidget',
|
|
'containerwidget',
|
|
'Context',
|
|
'ContextCall',
|
|
'ContextError',
|
|
'CloudSubsystem',
|
|
'CoopGameActivity',
|
|
'CoopSession',
|
|
'Data',
|
|
'DeathType',
|
|
'DelegateNotFoundError',
|
|
'Dependency',
|
|
'DependencyComponent',
|
|
'DependencyError',
|
|
'DependencySet',
|
|
'DieMessage',
|
|
'do_once',
|
|
'DropMessage',
|
|
'DroppedMessage',
|
|
'DualTeamSession',
|
|
'emitfx',
|
|
'EmptyPlayer',
|
|
'EmptyTeam',
|
|
'Existable',
|
|
'existing',
|
|
'FloatChoiceSetting',
|
|
'FloatSetting',
|
|
'FreeForAllSession',
|
|
'FreezeMessage',
|
|
'GameActivity',
|
|
'GameResults',
|
|
'GameTip',
|
|
'garbage_collect',
|
|
'getactivity',
|
|
'getclass',
|
|
'getcollidemodel',
|
|
'getcollision',
|
|
'getdata',
|
|
'getmaps',
|
|
'getmodel',
|
|
'getnodes',
|
|
'getsession',
|
|
'getsound',
|
|
'gettexture',
|
|
'HitMessage',
|
|
'hscrollwidget',
|
|
'imagewidget',
|
|
'ImpactDamageMessage',
|
|
'in_logic_thread',
|
|
'InputDevice',
|
|
'InputDeviceNotFoundError',
|
|
'InputType',
|
|
'IntChoiceSetting',
|
|
'IntSetting',
|
|
'is_browser_likely_available',
|
|
'is_point_in_box',
|
|
'Keyboard',
|
|
'LanguageSubsystem',
|
|
'Level',
|
|
'Lobby',
|
|
'Lstr',
|
|
'Map',
|
|
'MapNotFoundError',
|
|
'Material',
|
|
'MetadataSubsystem',
|
|
'Model',
|
|
'MultiTeamSession',
|
|
'MusicPlayer',
|
|
'MusicPlayMode',
|
|
'MusicSubsystem',
|
|
'MusicType',
|
|
'newactivity',
|
|
'newnode',
|
|
'Node',
|
|
'NodeActor',
|
|
'NodeNotFoundError',
|
|
'normalized_color',
|
|
'NotFoundError',
|
|
'open_url',
|
|
'OutOfBoundsMessage',
|
|
'Permission',
|
|
'PickedUpMessage',
|
|
'PickUpMessage',
|
|
'Player',
|
|
'PlayerDiedMessage',
|
|
'PlayerInfo',
|
|
'PlayerNotFoundError',
|
|
'PlayerRecord',
|
|
'PlayerScoredMessage',
|
|
'playsound',
|
|
'Plugin',
|
|
'PluginSubsystem',
|
|
'PotentialPlugin',
|
|
'PowerupAcceptMessage',
|
|
'PowerupMessage',
|
|
'print_error',
|
|
'print_exception',
|
|
'printnodes',
|
|
'ls_objects',
|
|
'ls_input_devices',
|
|
'pushcall',
|
|
'quit',
|
|
'rowwidget',
|
|
'safecolor',
|
|
'ScoreConfig',
|
|
'ScoreType',
|
|
'screenmessage',
|
|
'scrollwidget',
|
|
'ServerController',
|
|
'Session',
|
|
'SessionNotFoundError',
|
|
'SessionPlayer',
|
|
'SessionPlayerNotFoundError',
|
|
'SessionTeam',
|
|
'SessionTeamNotFoundError',
|
|
'set_analytics_screen',
|
|
'setmusic',
|
|
'Setting',
|
|
'ShouldShatterMessage',
|
|
'show_damage_count',
|
|
'Sound',
|
|
'SpecialChar',
|
|
'StandLocation',
|
|
'StandMessage',
|
|
'Stats',
|
|
'storagename',
|
|
'Team',
|
|
'TeamGameActivity',
|
|
'TeamNotFoundError',
|
|
'Texture',
|
|
'textwidget',
|
|
'ThawMessage',
|
|
'time',
|
|
'TimeFormat',
|
|
'Timer',
|
|
'timer',
|
|
'timestring',
|
|
'TimeType',
|
|
'uicleanupcheck',
|
|
'UIController',
|
|
'UIScale',
|
|
'UISubsystem',
|
|
'UNHANDLED',
|
|
'Vec3',
|
|
'vec3validate',
|
|
'verify_object_death',
|
|
'WeakCall',
|
|
'Widget',
|
|
'widget',
|
|
'WidgetNotFoundError',
|
|
'Window',
|
|
]
|
|
|
|
|
|
# Have these things present themselves cleanly as 'ba.Foo'
|
|
# instead of 'ba._submodule.Foo'
|
|
def _simplify_module_names() -> None:
|
|
import os
|
|
|
|
# Though pdoc gets confused when we override __module__,
|
|
# so let's make an exception for it.
|
|
if os.environ.get('BA_DOCS_GENERATION', '0') != '1':
|
|
from efro.util import set_canonical_module
|
|
|
|
globs = globals()
|
|
set_canonical_module(
|
|
module_globals=globs,
|
|
names=[n for n in globs.keys() if not n.startswith('_')],
|
|
)
|
|
|
|
|
|
_simplify_module_names()
|
|
del _simplify_module_names
|