python3.9,removed windows build,kick vote,ban mute commands , rjcd

This commit is contained in:
imayushsaini 2021-11-10 17:26:07 +05:30
parent 94bdfb531a
commit dbe040a017
2453 changed files with 3797 additions and 437553 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -11,7 +11,7 @@ import ba
from ba.internal import JoinActivity
if TYPE_CHECKING:
from typing import Any, Dict, List, Optional, Sequence, Union
from typing import Any, Optional, Sequence, Union
class CoopJoinActivity(JoinActivity):
@ -54,7 +54,7 @@ class CoopJoinActivity(JoinActivity):
ControlsGuide(delay=1.0).autoretain()
def _on_got_scores_to_beat(self,
scores: Optional[List[Dict[str, Any]]]) -> None:
scores: Optional[list[dict[str, Any]]]) -> None:
# pylint: disable=too-many-locals
# pylint: disable=too-many-statements
from efro.util import asserttype

View file

@ -14,7 +14,7 @@ from bastd.actor.text import Text
from bastd.actor.zoomtext import ZoomText
if TYPE_CHECKING:
from typing import Optional, Tuple, List, Dict, Any, Sequence
from typing import Optional, Any, Sequence
from bastd.ui.store.button import StoreButton
from bastd.ui.league.rankbutton import LeagueRankButton
@ -96,7 +96,7 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
self._game_config_str: Optional[str] = None
# Ui bits.
self._corner_button_offs: Optional[Tuple[float, float]] = None
self._corner_button_offs: Optional[tuple[float, float]] = None
self._league_rank_button: Optional[LeagueRankButton] = None
self._store_button_instance: Optional[StoreButton] = None
self._restart_button: Optional[ba.Widget] = None
@ -110,7 +110,7 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
self._is_more_levels: Optional[bool] = None
self._next_level_name: Optional[str] = None
self._show_friend_scores: Optional[bool] = None
self._show_info: Optional[Dict[str, Any]] = None
self._show_info: Optional[dict[str, Any]] = None
self._name_str: Optional[str] = None
self._friends_loading_status: Optional[ba.Actor] = None
self._score_loading_status: Optional[ba.Actor] = None
@ -124,7 +124,7 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
self._allow_server_transition = False
self._server_transitioning: Optional[bool] = None
self._playerinfos: List[ba.PlayerInfo] = settings['playerinfos']
self._playerinfos: list[ba.PlayerInfo] = settings['playerinfos']
assert isinstance(self._playerinfos, list)
assert (isinstance(i, ba.PlayerInfo) for i in self._playerinfos)
@ -831,7 +831,7 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
scale = 0.65
elif p_count == 4:
scale = 0.5
times: List[Tuple[float, float]] = []
times: list[tuple[float, float]] = []
for i in range(display_count):
times.insert(random.randrange(0,
len(times) + 1),
@ -929,7 +929,7 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
'loop': False
})).autoretain()
def _got_friend_score_results(self, results: Optional[List[Any]]) -> None:
def _got_friend_score_results(self, results: Optional[list[Any]]) -> None:
# FIXME: tidy this up
# pylint: disable=too-many-locals
@ -990,7 +990,7 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
while len(results) < 5:
results.append([0, '-', False])
results = results[:5]
times: List[Tuple[float, float]] = []
times: list[tuple[float, float]] = []
for i in range(len(results)):
times.insert(random.randrange(0,
len(times) + 1),
@ -1044,7 +1044,7 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
transition=Text.Transition.IN_RIGHT,
transition_delay=tdelay2).autoretain()
def _got_score_results(self, results: Optional[Dict[str, Any]]) -> None:
def _got_score_results(self, results: Optional[dict[str, Any]]) -> None:
# FIXME: tidy this up
# pylint: disable=too-many-locals
@ -1142,7 +1142,7 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
while len(self._show_info['tops']) < 10:
self._show_info['tops'].append([0, '-'])
times: List[Tuple[float, float]] = []
times: list[tuple[float, float]] = []
for i in range(len(self._show_info['tops'])):
times.insert(
random.randrange(0,

View file

@ -11,7 +11,7 @@ from bastd.activity.multiteamscore import MultiTeamScoreScreenActivity
from bastd.actor.zoomtext import ZoomText
if TYPE_CHECKING:
from typing import Any, Dict
pass
class DrawScoreScreenActivity(MultiTeamScoreScreenActivity):

View file

@ -11,7 +11,7 @@ from bastd.activity.multiteamscore import MultiTeamScoreScreenActivity
from bastd.actor.zoomtext import ZoomText
if TYPE_CHECKING:
from typing import Any, Dict
pass
class TeamVictoryScoreScreenActivity(MultiTeamScoreScreenActivity):

View file

@ -10,7 +10,7 @@ import ba
from bastd.activity.multiteamscore import MultiTeamScoreScreenActivity
if TYPE_CHECKING:
from typing import Any, Dict, Optional, Set, Tuple
from typing import Any, Optional
class FreeForAllVictoryScoreScreenActivity(MultiTeamScoreScreenActivity):
@ -71,7 +71,7 @@ class FreeForAllVictoryScoreScreenActivity(MultiTeamScoreScreenActivity):
scale=1.2,
x_offset=-110.0)
sound_times: Set[float] = set()
sound_times: set[float] = set()
def _scoretxt(text: str,
x_offs: float,
@ -260,7 +260,7 @@ class FreeForAllVictoryScoreScreenActivity(MultiTeamScoreScreenActivity):
v_offs -= spacing
def _safe_animate(self, node: Optional[ba.Node], attr: str,
keys: Dict[float, float]) -> None:
keys: dict[float, float]) -> None:
"""Run an animation on a node if the node still exists."""
if node:
ba.animate(node, attr, keys)

View file

@ -11,7 +11,7 @@ from ba.internal import JoinActivity
from bastd.actor.text import Text
if TYPE_CHECKING:
from typing import Any, Dict, Optional
from typing import Optional
class MultiTeamJoinActivity(JoinActivity):

View file

@ -11,7 +11,7 @@ from bastd.actor.text import Text
from bastd.actor.image import Image
if TYPE_CHECKING:
from typing import Any, Dict, Optional, Union
from typing import Optional, Union
class MultiTeamScoreScreenActivity(ScoreScreenActivity):

View file

@ -10,7 +10,7 @@ import ba
from bastd.activity.multiteamscore import MultiTeamScoreScreenActivity
if TYPE_CHECKING:
from typing import Any, Dict, List, Tuple, Optional
from typing import Optional
class TeamSeriesVictoryScoreScreenActivity(MultiTeamScoreScreenActivity):
@ -51,7 +51,7 @@ class TeamSeriesVictoryScoreScreenActivity(MultiTeamScoreScreenActivity):
ba.timer(4.6, ba.Call(ba.playsound, self._score_display_sound))
# Score / Name / Player-record.
player_entries: List[Tuple[int, str, ba.PlayerRecord]] = []
player_entries: list[tuple[int, str, ba.PlayerRecord]] = []
# Note: for ffa, exclude players who haven't entered the game yet.
if self._is_ffa:

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -14,7 +14,7 @@ import ba
from bastd.gameutils import SharedObjects
if TYPE_CHECKING:
from typing import Any, Sequence, Optional, Callable, List, Tuple, Type
from typing import Any, Sequence, Optional, Callable
PlayerType = TypeVar('PlayerType', bound='ba.Player')
@ -693,7 +693,7 @@ class Bomb(ba.Actor):
elif self.bomb_type == 'tnt':
self.blast_radius *= 1.45
self._explode_callbacks: List[Callable[[Bomb, Blast], Any]] = []
self._explode_callbacks: list[Callable[[Bomb, Blast], Any]] = []
# The player this came from.
self._source_player = source_player
@ -716,7 +716,7 @@ class Bomb(ba.Actor):
# since players carrying those things and thus touching footing
# objects will think they're on solid ground.. perhaps we don't
# wanna add this even in the tnt case?
materials: Tuple[ba.Material, ...]
materials: tuple[ba.Material, ...]
if self.bomb_type == 'tnt':
materials = (factory.bomb_material, shared.footing_material,
shared.object_material)
@ -847,7 +847,7 @@ class Bomb(ba.Actor):
})
def get_source_player(
self, playertype: Type[PlayerType]) -> Optional[PlayerType]:
self, playertype: type[PlayerType]) -> Optional[PlayerType]:
"""Return the source-player if one exists and is the provided type."""
player: Any = self._source_player
return (player if isinstance(player, playertype) and player.exists()

View file

@ -10,7 +10,7 @@ import _ba
import ba
if TYPE_CHECKING:
from typing import Any, Tuple, Optional, Sequence, Union
from typing import Any, Optional, Sequence, Union
class ControlsGuide(ba.Actor):
@ -24,7 +24,7 @@ class ControlsGuide(ba.Actor):
"""
def __init__(self,
position: Tuple[float, float] = (390.0, 120.0),
position: tuple[float, float] = (390.0, 120.0),
scale: float = 1.0,
delay: float = 0.0,
lifespan: float = None,
@ -57,8 +57,8 @@ class ControlsGuide(ba.Actor):
self._update_timer: Optional[ba.Timer] = None
self._title_text: Optional[ba.Node]
clr: Sequence[float]
extra_pos_1: Optional[Tuple[float, float]]
extra_pos_2: Optional[Tuple[float, float]]
extra_pos_1: Optional[tuple[float, float]]
extra_pos_2: Optional[tuple[float, float]]
if ba.app.iircade_mode:
xtweak = 0.2
ytweak = 0.2

View file

@ -10,7 +10,7 @@ from typing import TYPE_CHECKING
import ba
if TYPE_CHECKING:
from typing import Any, Tuple, Sequence, Union, Dict, Optional
from typing import Any, Sequence, Union, Optional
class Image(ba.Actor):
@ -33,13 +33,13 @@ class Image(ba.Actor):
BOTTOM_CENTER = 'bottomCenter'
def __init__(self,
texture: Union[ba.Texture, Dict[str, Any]],
position: Tuple[float, float] = (0, 0),
texture: Union[ba.Texture, dict[str, Any]],
position: tuple[float, float] = (0, 0),
transition: Optional[Transition] = None,
transition_delay: float = 0.0,
attach: Attach = Attach.CENTER,
color: Sequence[float] = (1.0, 1.0, 1.0, 1.0),
scale: Tuple[float, float] = (100.0, 100.0),
scale: tuple[float, float] = (100.0, 100.0),
transition_out_delay: float = None,
model_opaque: ba.Model = None,
model_transparent: ba.Model = None,

View file

@ -10,7 +10,7 @@ import ba
from bastd.actor.spaz import Spaz
if TYPE_CHECKING:
from typing import Any, Sequence, Tuple, Optional, Type, Literal
from typing import Any, Sequence, Optional, Literal
PlayerType = TypeVar('PlayerType', bound=ba.Player)
TeamType = TypeVar('TeamType', bound=ba.Team)
@ -65,28 +65,29 @@ class PlayerSpaz(Spaz):
powerups_expire=powerups_expire)
self.last_player_attacked_by: Optional[ba.Player] = None
self.last_attacked_time = 0.0
self.last_attacked_type: Optional[Tuple[str, str]] = None
self.last_attacked_type: Optional[tuple[str, str]] = None
self.held_count = 0
self.last_player_held_by: Optional[ba.Player] = None
self._player = player
self._drive_player_position()
from spazmod import modifyspaz
modifyspaz.main(self, self.node, self._player)
# Overloads to tell the type system our return type based on doraise val.
@overload
def getplayer(self,
playertype: Type[PlayerType],
playertype: type[PlayerType],
doraise: Literal[False] = False) -> Optional[PlayerType]:
...
@overload
def getplayer(self, playertype: Type[PlayerType],
def getplayer(self, playertype: type[PlayerType],
doraise: Literal[True]) -> PlayerType:
...
def getplayer(self,
playertype: Type[PlayerType],
playertype: type[PlayerType],
doraise: bool = False) -> Optional[PlayerType]:
"""Get the ba.Player associated with this Spaz.

View file

@ -11,7 +11,7 @@ import ba
from bastd.gameutils import SharedObjects
if TYPE_CHECKING:
from typing import List, Any, Optional, Sequence
from typing import Any, Optional, Sequence
DEFAULT_POWERUP_INTERVAL = 8.0
@ -133,14 +133,14 @@ class PowerupBoxFactory:
actions=('impact_sound', self.drop_sound, 0.5, 0.1),
)
self._powerupdist: List[str] = []
self._powerupdist: list[str] = []
for powerup, freq in get_default_powerup_distribution():
for _i in range(int(freq)):
self._powerupdist.append(powerup)
def get_random_powerup_type(self,
forcetype: str = None,
excludetypes: List[str] = None) -> str:
excludetypes: list[str] = None) -> str:
"""Returns a random powerup type (string).
See ba.Powerup.poweruptype for available type values.

View file

@ -10,7 +10,7 @@ from typing import TYPE_CHECKING
import ba
if TYPE_CHECKING:
from typing import Optional, Dict, Tuple
from typing import Optional
class RespawnIcon:
@ -116,7 +116,7 @@ class RespawnIcon:
"""Is this icon still visible?"""
return self._visible
def _get_context(self, player: ba.Player) -> Tuple[bool, float, Dict]:
def _get_context(self, player: ba.Player) -> tuple[bool, float, dict]:
"""Return info on where we should be shown and stored."""
activity = ba.getactivity()

View file

@ -10,7 +10,7 @@ from typing import TYPE_CHECKING
import ba
if TYPE_CHECKING:
from typing import Any, Optional, Sequence, Dict, Union
from typing import Any, Optional, Sequence, Union
class _Entry:
@ -334,7 +334,7 @@ class Scoreboard:
show up on boards if provided.
"""
self._flat_tex = ba.gettexture('null')
self._entries: Dict[int, _Entry] = {}
self._entries: dict[int, _Entry] = {}
self._label = label
self.score_split = score_split

View file

@ -15,8 +15,7 @@ from bastd.actor.spazfactory import SpazFactory
from bastd.gameutils import SharedObjects
if TYPE_CHECKING:
from typing import (Any, Sequence, Optional, Dict, List, Union, Callable,
Tuple, Set)
from typing import Any, Sequence, Optional, Union, Callable
from bastd.actor.spazfactory import SpazFactory
POWERUP_WEAR_OFF_TIME = 20000
@ -104,7 +103,7 @@ class Spaz(ba.Actor):
self._hockey = activity.map.is_hockey
else:
self._hockey = False
self._punched_nodes: Set[ba.Node] = set()
self._punched_nodes: set[ba.Node] = set()
self._cursed = False
self._connected_to_player: Optional[ba.Player] = None
materials = [
@ -203,9 +202,9 @@ class Spaz(ba.Actor):
self.last_run_time_ms = -9999
self._last_run_value = 0.0
self.last_bomb_time_ms = -9999
self._turbo_filter_times: Dict[str, int] = {}
self._turbo_filter_times: dict[str, int] = {}
self._turbo_filter_time_bucket = 0
self._turbo_filter_counts: Dict[str, int] = {}
self._turbo_filter_counts: dict[str, int] = {}
self.frozen = False
self.shattered = False
self._last_hit_time: Optional[int] = None
@ -213,7 +212,7 @@ class Spaz(ba.Actor):
self._bomb_held = False
if self.default_shields:
self.equip_shields()
self._dropped_bomb_callbacks: List[Callable[[Spaz, ba.Actor],
self._dropped_bomb_callbacks: list[Callable[[Spaz, ba.Actor],
Any]] = []
self._score_text: Optional[ba.Node] = None
@ -561,7 +560,7 @@ class Spaz(ba.Actor):
def on_punched(self, damage: int) -> None:
"""Called when this spaz gets punched."""
def get_death_points(self, how: ba.DeathType) -> Tuple[int, int]:
def get_death_points(self, how: ba.DeathType) -> tuple[int, int]:
"""Get the points awarded for killing this spaz."""
del how # Unused.
num_hits = float(max(1, self._num_times_hit))

View file

@ -9,10 +9,10 @@ import _ba
import ba
if TYPE_CHECKING:
from typing import List, Optional, Tuple
from typing import Optional
def get_appearances(include_locked: bool = False) -> List[str]:
def get_appearances(include_locked: bool = False) -> list[str]:
"""Get the list of available spaz appearances."""
# pylint: disable=too-many-statements
# pylint: disable=too-many-branches
@ -104,15 +104,15 @@ class Appearance:
self.upper_leg_model = ''
self.lower_leg_model = ''
self.toes_model = ''
self.jump_sounds: List[str] = []
self.attack_sounds: List[str] = []
self.impact_sounds: List[str] = []
self.death_sounds: List[str] = []
self.pickup_sounds: List[str] = []
self.fall_sounds: List[str] = []
self.jump_sounds: list[str] = []
self.attack_sounds: list[str] = []
self.impact_sounds: list[str] = []
self.death_sounds: list[str] = []
self.pickup_sounds: list[str] = []
self.fall_sounds: list[str] = []
self.style = 'spaz'
self.default_color: Optional[Tuple[float, float, float]] = None
self.default_highlight: Optional[Tuple[float, float, float]] = None
self.default_color: Optional[tuple[float, float, float]] = None
self.default_highlight: Optional[tuple[float, float, float]] = None
def register_appearances() -> None:

View file

@ -13,7 +13,7 @@ import ba
from bastd.actor.spaz import Spaz
if TYPE_CHECKING:
from typing import Any, Optional, List, Tuple, Sequence, Type, Callable
from typing import Any, Optional, Sequence, Callable
from bastd.actor.flag import Flag
LITE_BOT_COLOR = (1.2, 0.9, 0.2)
@ -125,7 +125,7 @@ class SpazBot(Spaz):
self._map = weakref.ref(activity.map)
self.last_player_attacked_by: Optional[ba.Player] = None
self.last_attacked_time = 0.0
self.last_attacked_type: Optional[Tuple[str, str]] = None
self.last_attacked_type: Optional[tuple[str, str]] = None
self.target_point_default: Optional[ba.Vec3] = None
self.held_count = 0
self.last_player_held_by: Optional[ba.Player] = None
@ -141,7 +141,7 @@ class SpazBot(Spaz):
self._throw_release_time: Optional[float] = None
self._have_dropped_throw_bomb: Optional[bool] = None
self._player_pts: Optional[List[Tuple[ba.Vec3, ba.Vec3]]] = None
self._player_pts: Optional[list[tuple[ba.Vec3, ba.Vec3]]] = None
# These cooldowns didn't exist when these bots were calibrated,
# so take them out of the equation.
@ -161,7 +161,7 @@ class SpazBot(Spaz):
return mval
def _get_target_player_pt(
self) -> Tuple[Optional[ba.Vec3], Optional[ba.Vec3]]:
self) -> tuple[Optional[ba.Vec3], Optional[ba.Vec3]]:
"""Returns the position and velocity of our target.
Both values will be None in the case of no target.
@ -189,7 +189,7 @@ class SpazBot(Spaz):
ba.Vec3(closest_vel[0], closest_vel[1], closest_vel[2]))
return None, None
def set_player_points(self, pts: List[Tuple[ba.Vec3, ba.Vec3]]) -> None:
def set_player_points(self, pts: list[tuple[ba.Vec3, ba.Vec3]]) -> None:
"""Provide the spaz-bot with the locations of its enemies."""
self._player_pts = pts
@ -882,7 +882,7 @@ class SpazBotSet:
self._bot_list_count = 5
self._bot_add_list = 0
self._bot_update_list = 0
self._bot_lists: List[List[SpazBot]] = [
self._bot_lists: list[list[SpazBot]] = [
[] for _ in range(self._bot_list_count)
]
self._spawn_sound = ba.getsound('spawn')
@ -894,7 +894,7 @@ class SpazBotSet:
self.clear()
def spawn_bot(self,
bot_type: Type[SpazBot],
bot_type: type[SpazBot],
pos: Sequence[float],
spawn_time: float = 3.0,
on_spawn_call: Callable[[SpazBot], Any] = None) -> None:
@ -907,7 +907,7 @@ class SpazBotSet:
on_spawn_call))
self._spawning_count += 1
def _spawn_bot(self, bot_type: Type[SpazBot], pos: Sequence[float],
def _spawn_bot(self, bot_type: type[SpazBot], pos: Sequence[float],
on_spawn_call: Optional[Callable[[SpazBot], Any]]) -> None:
spaz = bot_type()
ba.playsound(self._spawn_sound, position=pos)
@ -925,9 +925,9 @@ class SpazBotSet:
return (self._spawning_count > 0
or any(any(b.is_alive() for b in l) for l in self._bot_lists))
def get_living_bots(self) -> List[SpazBot]:
def get_living_bots(self) -> list[SpazBot]:
"""Get the living bots in the set."""
bots: List[SpazBot] = []
bots: list[SpazBot] = []
for botlist in self._bot_lists:
for bot in botlist:
if bot.is_alive():

View file

@ -11,7 +11,7 @@ from bastd.gameutils import SharedObjects
import _ba
if TYPE_CHECKING:
from typing import Any, Dict
from typing import Any
class SpazFactory:
@ -206,7 +206,7 @@ class SpazFactory:
actions=('modify_node_collision', 'collide', False),
)
self.spaz_media: Dict[str, Any] = {}
self.spaz_media: dict[str, Any] = {}
# Lets load some basic rules.
# (allows them to be tweaked from the master server)
@ -227,7 +227,7 @@ class SpazFactory:
"""
return ba.app.spaz_appearances[character].style
def get_media(self, character: str) -> Dict[str, Any]:
def get_media(self, character: str) -> dict[str, Any]:
"""Return the set of media used by this variant of spaz."""
char = ba.app.spaz_appearances[character]
if character not in self.spaz_media:

View file

@ -10,7 +10,7 @@ from typing import TYPE_CHECKING
import ba
if TYPE_CHECKING:
from typing import Any, Union, Tuple, Sequence, Optional
from typing import Any, Union, Sequence, Optional
class Text(ba.Actor):
@ -50,7 +50,7 @@ class Text(ba.Actor):
def __init__(self,
text: Union[str, ba.Lstr],
position: Tuple[float, float] = (0.0, 0.0),
position: tuple[float, float] = (0.0, 0.0),
h_align: HAlign = HAlign.LEFT,
v_align: VAlign = VAlign.NONE,
color: Sequence[float] = (1.0, 1.0, 1.0, 1.0),

View file

@ -10,7 +10,7 @@ from typing import TYPE_CHECKING
import ba
if TYPE_CHECKING:
from typing import Any, Union, Tuple, Sequence
from typing import Any, Union, Sequence
class ZoomText(ba.Actor):
@ -23,8 +23,8 @@ class ZoomText(ba.Actor):
def __init__(self,
text: Union[str, ba.Lstr],
position: Tuple[float, float] = (0.0, 0.0),
shiftposition: Tuple[float, float] = None,
position: tuple[float, float] = (0.0, 0.0),
shiftposition: tuple[float, float] = None,
shiftdelay: float = None,
lifespan: float = None,
flash: bool = True,
@ -171,7 +171,7 @@ class ZoomText(ba.Actor):
return None
return super().handlemessage(msg)
def _jitter(self, position: Tuple[float, float],
def _jitter(self, position: tuple[float, float],
jitter_amount: float) -> None:
if not self.node:
return
@ -187,8 +187,8 @@ class ZoomText(ba.Actor):
ba.animate(cmb, attr, keys, loop=True)
cmb.connectattr('output', self.node, 'position')
def _shift(self, position1: Tuple[float, float],
position2: Tuple[float, float]) -> None:
def _shift(self, position1: tuple[float, float],
position2: tuple[float, float]) -> None:
if not self.node:
return
cmb = ba.newnode('combine', owner=self.node, attrs={'size': 2})

View file

@ -8,15 +8,15 @@ from typing import TYPE_CHECKING
import ba
if TYPE_CHECKING:
from typing import Type, Any, Dict, Callable, Optional
from typing import Any, Callable, Optional
class AppDelegate(ba.AppDelegate):
"""Defines handlers for high level app functionality."""
def create_default_game_settings_ui(
self, gameclass: Type[ba.GameActivity],
sessiontype: Type[ba.Session], settings: Optional[dict],
self, gameclass: type[ba.GameActivity],
sessiontype: type[ba.Session], settings: Optional[dict],
completion_call: Callable[[Optional[dict]], Any]) -> None:
"""(internal)"""

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more