mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-05 06:53:18 +08:00
more scene_v1 untangling
This commit is contained in:
parent
1211c6787a
commit
e1dd1d1d26
@ -66,13 +66,9 @@
|
|||||||
"ba_data/python/baclassic/__pycache__/_analytics.cpython-311.opt-1.pyc",
|
"ba_data/python/baclassic/__pycache__/_analytics.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/baclassic/__pycache__/_appdelegate.cpython-311.opt-1.pyc",
|
"ba_data/python/baclassic/__pycache__/_appdelegate.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/baclassic/__pycache__/_benchmark.cpython-311.opt-1.pyc",
|
"ba_data/python/baclassic/__pycache__/_benchmark.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/baclassic/__pycache__/_campaign.cpython-311.opt-1.pyc",
|
|
||||||
"ba_data/python/baclassic/__pycache__/_input.cpython-311.opt-1.pyc",
|
"ba_data/python/baclassic/__pycache__/_input.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/baclassic/__pycache__/_level.cpython-311.opt-1.pyc",
|
|
||||||
"ba_data/python/baclassic/__pycache__/_lobby.cpython-311.opt-1.pyc",
|
|
||||||
"ba_data/python/baclassic/__pycache__/_music.cpython-311.opt-1.pyc",
|
"ba_data/python/baclassic/__pycache__/_music.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/baclassic/__pycache__/_net.cpython-311.opt-1.pyc",
|
"ba_data/python/baclassic/__pycache__/_net.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/baclassic/__pycache__/_profile.cpython-311.opt-1.pyc",
|
|
||||||
"ba_data/python/baclassic/__pycache__/_servermode.cpython-311.opt-1.pyc",
|
"ba_data/python/baclassic/__pycache__/_servermode.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/baclassic/__pycache__/_store.cpython-311.opt-1.pyc",
|
"ba_data/python/baclassic/__pycache__/_store.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/baclassic/__pycache__/_subsystem.cpython-311.opt-1.pyc",
|
"ba_data/python/baclassic/__pycache__/_subsystem.cpython-311.opt-1.pyc",
|
||||||
@ -87,13 +83,9 @@
|
|||||||
"ba_data/python/baclassic/_analytics.py",
|
"ba_data/python/baclassic/_analytics.py",
|
||||||
"ba_data/python/baclassic/_appdelegate.py",
|
"ba_data/python/baclassic/_appdelegate.py",
|
||||||
"ba_data/python/baclassic/_benchmark.py",
|
"ba_data/python/baclassic/_benchmark.py",
|
||||||
"ba_data/python/baclassic/_campaign.py",
|
|
||||||
"ba_data/python/baclassic/_input.py",
|
"ba_data/python/baclassic/_input.py",
|
||||||
"ba_data/python/baclassic/_level.py",
|
|
||||||
"ba_data/python/baclassic/_lobby.py",
|
|
||||||
"ba_data/python/baclassic/_music.py",
|
"ba_data/python/baclassic/_music.py",
|
||||||
"ba_data/python/baclassic/_net.py",
|
"ba_data/python/baclassic/_net.py",
|
||||||
"ba_data/python/baclassic/_profile.py",
|
|
||||||
"ba_data/python/baclassic/_servermode.py",
|
"ba_data/python/baclassic/_servermode.py",
|
||||||
"ba_data/python/baclassic/_store.py",
|
"ba_data/python/baclassic/_store.py",
|
||||||
"ba_data/python/baclassic/_subsystem.py",
|
"ba_data/python/baclassic/_subsystem.py",
|
||||||
@ -133,6 +125,7 @@
|
|||||||
"ba_data/python/bascenev1/__pycache__/_activitytypes.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_activitytypes.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_actor.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_actor.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_appmode.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_appmode.cpython-311.opt-1.pyc",
|
||||||
|
"ba_data/python/bascenev1/__pycache__/_campaign.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_collision.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_collision.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_coopgame.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_coopgame.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_coopsession.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_coopsession.cpython-311.opt-1.pyc",
|
||||||
@ -145,6 +138,8 @@
|
|||||||
"ba_data/python/bascenev1/__pycache__/_gameresults.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_gameresults.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_gameutils.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_gameutils.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_hooks.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_hooks.cpython-311.opt-1.pyc",
|
||||||
|
"ba_data/python/bascenev1/__pycache__/_level.cpython-311.opt-1.pyc",
|
||||||
|
"ba_data/python/bascenev1/__pycache__/_lobby.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_map.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_map.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_messages.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_messages.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_multiteamsession.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_multiteamsession.cpython-311.opt-1.pyc",
|
||||||
@ -153,6 +148,7 @@
|
|||||||
"ba_data/python/bascenev1/__pycache__/_player.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_player.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_playlist.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_playlist.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_powerup.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_powerup.cpython-311.opt-1.pyc",
|
||||||
|
"ba_data/python/bascenev1/__pycache__/_profile.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_score.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_score.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_session.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_session.cpython-311.opt-1.pyc",
|
||||||
"ba_data/python/bascenev1/__pycache__/_settings.cpython-311.opt-1.pyc",
|
"ba_data/python/bascenev1/__pycache__/_settings.cpython-311.opt-1.pyc",
|
||||||
@ -164,6 +160,7 @@
|
|||||||
"ba_data/python/bascenev1/_activitytypes.py",
|
"ba_data/python/bascenev1/_activitytypes.py",
|
||||||
"ba_data/python/bascenev1/_actor.py",
|
"ba_data/python/bascenev1/_actor.py",
|
||||||
"ba_data/python/bascenev1/_appmode.py",
|
"ba_data/python/bascenev1/_appmode.py",
|
||||||
|
"ba_data/python/bascenev1/_campaign.py",
|
||||||
"ba_data/python/bascenev1/_collision.py",
|
"ba_data/python/bascenev1/_collision.py",
|
||||||
"ba_data/python/bascenev1/_coopgame.py",
|
"ba_data/python/bascenev1/_coopgame.py",
|
||||||
"ba_data/python/bascenev1/_coopsession.py",
|
"ba_data/python/bascenev1/_coopsession.py",
|
||||||
@ -176,6 +173,8 @@
|
|||||||
"ba_data/python/bascenev1/_gameresults.py",
|
"ba_data/python/bascenev1/_gameresults.py",
|
||||||
"ba_data/python/bascenev1/_gameutils.py",
|
"ba_data/python/bascenev1/_gameutils.py",
|
||||||
"ba_data/python/bascenev1/_hooks.py",
|
"ba_data/python/bascenev1/_hooks.py",
|
||||||
|
"ba_data/python/bascenev1/_level.py",
|
||||||
|
"ba_data/python/bascenev1/_lobby.py",
|
||||||
"ba_data/python/bascenev1/_map.py",
|
"ba_data/python/bascenev1/_map.py",
|
||||||
"ba_data/python/bascenev1/_messages.py",
|
"ba_data/python/bascenev1/_messages.py",
|
||||||
"ba_data/python/bascenev1/_multiteamsession.py",
|
"ba_data/python/bascenev1/_multiteamsession.py",
|
||||||
@ -184,6 +183,7 @@
|
|||||||
"ba_data/python/bascenev1/_player.py",
|
"ba_data/python/bascenev1/_player.py",
|
||||||
"ba_data/python/bascenev1/_playlist.py",
|
"ba_data/python/bascenev1/_playlist.py",
|
||||||
"ba_data/python/bascenev1/_powerup.py",
|
"ba_data/python/bascenev1/_powerup.py",
|
||||||
|
"ba_data/python/bascenev1/_profile.py",
|
||||||
"ba_data/python/bascenev1/_score.py",
|
"ba_data/python/bascenev1/_score.py",
|
||||||
"ba_data/python/bascenev1/_session.py",
|
"ba_data/python/bascenev1/_session.py",
|
||||||
"ba_data/python/bascenev1/_settings.py",
|
"ba_data/python/bascenev1/_settings.py",
|
||||||
|
|||||||
@ -181,13 +181,9 @@ SCRIPT_TARGETS_PY_PUBLIC = \
|
|||||||
$(BUILD_DIR)/ba_data/python/baclassic/_analytics.py \
|
$(BUILD_DIR)/ba_data/python/baclassic/_analytics.py \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_appdelegate.py \
|
$(BUILD_DIR)/ba_data/python/baclassic/_appdelegate.py \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_benchmark.py \
|
$(BUILD_DIR)/ba_data/python/baclassic/_benchmark.py \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_campaign.py \
|
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_input.py \
|
$(BUILD_DIR)/ba_data/python/baclassic/_input.py \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_level.py \
|
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_lobby.py \
|
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_music.py \
|
$(BUILD_DIR)/ba_data/python/baclassic/_music.py \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_net.py \
|
$(BUILD_DIR)/ba_data/python/baclassic/_net.py \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_profile.py \
|
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_servermode.py \
|
$(BUILD_DIR)/ba_data/python/baclassic/_servermode.py \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_store.py \
|
$(BUILD_DIR)/ba_data/python/baclassic/_store.py \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/_subsystem.py \
|
$(BUILD_DIR)/ba_data/python/baclassic/_subsystem.py \
|
||||||
@ -205,6 +201,7 @@ SCRIPT_TARGETS_PY_PUBLIC = \
|
|||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_activitytypes.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_activitytypes.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_actor.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_actor.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_appmode.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_appmode.py \
|
||||||
|
$(BUILD_DIR)/ba_data/python/bascenev1/_campaign.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_collision.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_collision.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_coopgame.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_coopgame.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_coopsession.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_coopsession.py \
|
||||||
@ -217,6 +214,8 @@ SCRIPT_TARGETS_PY_PUBLIC = \
|
|||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_gameresults.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_gameresults.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_gameutils.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_gameutils.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_hooks.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_hooks.py \
|
||||||
|
$(BUILD_DIR)/ba_data/python/bascenev1/_level.py \
|
||||||
|
$(BUILD_DIR)/ba_data/python/bascenev1/_lobby.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_map.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_map.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_messages.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_messages.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_multiteamsession.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_multiteamsession.py \
|
||||||
@ -225,6 +224,7 @@ SCRIPT_TARGETS_PY_PUBLIC = \
|
|||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_player.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_player.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_playlist.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_playlist.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_powerup.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_powerup.py \
|
||||||
|
$(BUILD_DIR)/ba_data/python/bascenev1/_profile.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_score.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_score.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_session.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_session.py \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/_settings.py \
|
$(BUILD_DIR)/ba_data/python/bascenev1/_settings.py \
|
||||||
@ -453,13 +453,9 @@ SCRIPT_TARGETS_PYC_PUBLIC = \
|
|||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_analytics.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_analytics.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_appdelegate.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_appdelegate.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_benchmark.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_benchmark.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_campaign.cpython-311.opt-1.pyc \
|
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_input.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_input.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_level.cpython-311.opt-1.pyc \
|
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_lobby.cpython-311.opt-1.pyc \
|
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_music.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_music.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_net.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_net.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_profile.cpython-311.opt-1.pyc \
|
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_servermode.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_servermode.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_store.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_store.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_subsystem.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_subsystem.cpython-311.opt-1.pyc \
|
||||||
@ -477,6 +473,7 @@ SCRIPT_TARGETS_PYC_PUBLIC = \
|
|||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_activitytypes.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_activitytypes.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_actor.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_actor.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_appmode.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_appmode.cpython-311.opt-1.pyc \
|
||||||
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_campaign.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_collision.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_collision.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_coopgame.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_coopgame.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_coopsession.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_coopsession.cpython-311.opt-1.pyc \
|
||||||
@ -489,6 +486,8 @@ SCRIPT_TARGETS_PYC_PUBLIC = \
|
|||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_gameresults.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_gameresults.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_gameutils.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_gameutils.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_hooks.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_hooks.cpython-311.opt-1.pyc \
|
||||||
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_level.cpython-311.opt-1.pyc \
|
||||||
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_lobby.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_map.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_map.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_messages.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_messages.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_multiteamsession.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_multiteamsession.cpython-311.opt-1.pyc \
|
||||||
@ -497,6 +496,7 @@ SCRIPT_TARGETS_PYC_PUBLIC = \
|
|||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_player.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_player.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_playlist.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_playlist.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_powerup.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_powerup.cpython-311.opt-1.pyc \
|
||||||
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_profile.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_score.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_score.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_session.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_session.cpython-311.opt-1.pyc \
|
||||||
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_settings.cpython-311.opt-1.pyc \
|
$(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_settings.cpython-311.opt-1.pyc \
|
||||||
|
|||||||
@ -31,17 +31,10 @@ directly, it will most likely not work without classic present.
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from baclassic._subsystem import ClassicSubsystem
|
from baclassic._subsystem import ClassicSubsystem
|
||||||
from baclassic._campaign import Campaign
|
|
||||||
from baclassic._level import Level
|
|
||||||
from baclassic._lobby import Lobby, Chooser
|
|
||||||
from baclassic._achievement import Achievement, AchievementSubsystem
|
from baclassic._achievement import Achievement, AchievementSubsystem
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
'ClassicSubsystem',
|
'ClassicSubsystem',
|
||||||
'Campaign',
|
|
||||||
'Level',
|
|
||||||
'Lobby',
|
|
||||||
'Chooser',
|
|
||||||
'Achievement',
|
'Achievement',
|
||||||
'AchievementSubsystem',
|
'AchievementSubsystem',
|
||||||
]
|
]
|
||||||
|
|||||||
@ -16,6 +16,7 @@ import bascenev1
|
|||||||
from babase._general import Call
|
from babase._general import Call
|
||||||
from babase._appsubsystem import AppSubsystem
|
from babase._appsubsystem import AppSubsystem
|
||||||
from babase._general import AppTime
|
from babase._general import AppTime
|
||||||
|
from bascenev1 import _profile
|
||||||
import _baclassic
|
import _baclassic
|
||||||
from baclassic._music import MusicSubsystem
|
from baclassic._music import MusicSubsystem
|
||||||
from baclassic._accountv1 import AccountV1Subsystem
|
from baclassic._accountv1 import AccountV1Subsystem
|
||||||
@ -26,12 +27,12 @@ from baclassic._tips import get_all_tips
|
|||||||
from baclassic._store import StoreSubsystem
|
from baclassic._store import StoreSubsystem
|
||||||
from baclassic._ui import UISubsystem
|
from baclassic._ui import UISubsystem
|
||||||
from baclassic import _input
|
from baclassic import _input
|
||||||
from baclassic import _profile
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Callable, Any, Sequence
|
from typing import Callable, Any, Sequence
|
||||||
|
|
||||||
import babase
|
import babase
|
||||||
|
import bauiv1
|
||||||
import baclassic
|
import baclassic
|
||||||
from bastd.actor import spazappearance
|
from bastd.actor import spazappearance
|
||||||
from baclassic._appdelegate import AppDelegate
|
from baclassic._appdelegate import AppDelegate
|
||||||
@ -54,9 +55,9 @@ class ClassicSubsystem(AppSubsystem):
|
|||||||
# baclassic/__init__.py. This way this version can be used for
|
# baclassic/__init__.py. This way this version can be used for
|
||||||
# runtime via babase.app.classic which enforces handling of the
|
# runtime via babase.app.classic which enforces handling of the
|
||||||
# package-not-present case.
|
# package-not-present case.
|
||||||
from baclassic._level import Level
|
from bascenev1._level import Level
|
||||||
from baclassic._campaign import Campaign
|
from bascenev1._campaign import Campaign
|
||||||
from baclassic._lobby import Lobby, Chooser
|
from bascenev1._lobby import Lobby, Chooser
|
||||||
from baclassic._music import MusicPlayMode # FIXME move 2 subsys
|
from baclassic._music import MusicPlayMode # FIXME move 2 subsys
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
@ -71,7 +72,7 @@ class ClassicSubsystem(AppSubsystem):
|
|||||||
self.ui = UISubsystem()
|
self.ui = UISubsystem()
|
||||||
|
|
||||||
# Co-op Campaigns.
|
# Co-op Campaigns.
|
||||||
self.campaigns: dict[str, baclassic.Campaign] = {}
|
self.campaigns: dict[str, bascenev1.Campaign] = {}
|
||||||
self.custom_coop_practice_games: list[str] = []
|
self.custom_coop_practice_games: list[str] = []
|
||||||
|
|
||||||
# Lobby.
|
# Lobby.
|
||||||
@ -169,7 +170,7 @@ class ClassicSubsystem(AppSubsystem):
|
|||||||
def on_app_launching(self) -> None:
|
def on_app_launching(self) -> None:
|
||||||
"""Called when the app is first entering the launching state."""
|
"""Called when the app is first entering the launching state."""
|
||||||
# pylint: disable=too-many-locals
|
# pylint: disable=too-many-locals
|
||||||
from baclassic import _campaign
|
from bascenev1 import _campaign
|
||||||
from bascenev1 import _map
|
from bascenev1 import _map
|
||||||
from bastd.actor import spazappearance
|
from bastd.actor import spazappearance
|
||||||
from bastd import maps as stdmaps
|
from bastd import maps as stdmaps
|
||||||
@ -325,7 +326,7 @@ class ClassicSubsystem(AppSubsystem):
|
|||||||
# FIXME: This should not be an actor attr.
|
# FIXME: This should not be an actor attr.
|
||||||
activity.paused_text = None
|
activity.paused_text = None
|
||||||
|
|
||||||
def add_coop_practice_level(self, level: baclassic.Level) -> None:
|
def add_coop_practice_level(self, level: bascenev1.Level) -> None:
|
||||||
"""Adds an individual level to the 'practice' section in Co-op."""
|
"""Adds an individual level to the 'practice' section in Co-op."""
|
||||||
|
|
||||||
# Assign this level to our catch-all campaign.
|
# Assign this level to our catch-all campaign.
|
||||||
@ -523,7 +524,7 @@ class ClassicSubsystem(AppSubsystem):
|
|||||||
|
|
||||||
return _tournament.get_tournament_prize_strings(entry)
|
return _tournament.get_tournament_prize_strings(entry)
|
||||||
|
|
||||||
def getcampaign(self, name: str) -> baclassic.Campaign:
|
def getcampaign(self, name: str) -> bascenev1.Campaign:
|
||||||
"""Return a campaign by name."""
|
"""Return a campaign by name."""
|
||||||
return self.campaigns[name]
|
return self.campaigns[name]
|
||||||
|
|
||||||
@ -751,6 +752,14 @@ class ClassicSubsystem(AppSubsystem):
|
|||||||
|
|
||||||
return TeamSeriesVictoryScoreScreenActivity
|
return TeamSeriesVictoryScoreScreenActivity
|
||||||
|
|
||||||
|
def get_team_victory_score_screen_activity(
|
||||||
|
self,
|
||||||
|
) -> type[bascenev1.Activity]:
|
||||||
|
"""(internal)"""
|
||||||
|
from bastd.activity.dualteamscore import TeamVictoryScoreScreenActivity
|
||||||
|
|
||||||
|
return TeamVictoryScoreScreenActivity
|
||||||
|
|
||||||
def get_free_for_all_victory_score_screen_activity(
|
def get_free_for_all_victory_score_screen_activity(
|
||||||
self,
|
self,
|
||||||
) -> type[bascenev1.Activity]:
|
) -> type[bascenev1.Activity]:
|
||||||
@ -760,3 +769,82 @@ class ClassicSubsystem(AppSubsystem):
|
|||||||
)
|
)
|
||||||
|
|
||||||
return FreeForAllVictoryScoreScreenActivity
|
return FreeForAllVictoryScoreScreenActivity
|
||||||
|
|
||||||
|
def get_coop_join_activity(self) -> type[bascenev1.Activity]:
|
||||||
|
"""(internal)"""
|
||||||
|
from bastd.activity.coopjoin import CoopJoinActivity
|
||||||
|
|
||||||
|
return CoopJoinActivity
|
||||||
|
|
||||||
|
def get_coop_score_screen(self) -> type[bascenev1.Activity]:
|
||||||
|
"""(internal)"""
|
||||||
|
from bastd.activity.coopscore import CoopScoreScreen
|
||||||
|
|
||||||
|
return CoopScoreScreen
|
||||||
|
|
||||||
|
def get_multi_team_join_activity(self) -> type[bascenev1.Activity]:
|
||||||
|
"""(internal)"""
|
||||||
|
from bastd.activity.multiteamjoin import MultiTeamJoinActivity
|
||||||
|
|
||||||
|
return MultiTeamJoinActivity
|
||||||
|
|
||||||
|
def get_tutorial_activity(self) -> type[bascenev1.Activity]:
|
||||||
|
"""(internal)"""
|
||||||
|
from bastd.tutorial import TutorialActivity
|
||||||
|
|
||||||
|
return TutorialActivity
|
||||||
|
|
||||||
|
def tournament_entry_window(
|
||||||
|
self,
|
||||||
|
tournament_id: str,
|
||||||
|
tournament_activity: bascenev1.Activity | None = None,
|
||||||
|
position: tuple[float, float] = (0.0, 0.0),
|
||||||
|
delegate: Any = None,
|
||||||
|
scale: float | None = None,
|
||||||
|
offset: tuple[float, float] = (0.0, 0.0),
|
||||||
|
on_close_call: Callable[[], Any] | None = None,
|
||||||
|
) -> None:
|
||||||
|
"""(internal)"""
|
||||||
|
from bastd.ui.tournamententry import TournamentEntryWindow
|
||||||
|
|
||||||
|
TournamentEntryWindow(
|
||||||
|
tournament_id,
|
||||||
|
tournament_activity,
|
||||||
|
position,
|
||||||
|
delegate,
|
||||||
|
scale,
|
||||||
|
offset,
|
||||||
|
on_close_call,
|
||||||
|
)
|
||||||
|
|
||||||
|
def get_main_menu_session(self) -> type[bascenev1.Session]:
|
||||||
|
"""(internal)"""
|
||||||
|
from bastd.mainmenu import MainMenuSession
|
||||||
|
|
||||||
|
return MainMenuSession
|
||||||
|
|
||||||
|
def continues_window(
|
||||||
|
self,
|
||||||
|
activity: bascenev1.Activity,
|
||||||
|
cost: int,
|
||||||
|
continue_call: Callable[[], Any],
|
||||||
|
cancel_call: Callable[[], Any],
|
||||||
|
) -> None:
|
||||||
|
"""(internal)"""
|
||||||
|
from bastd.ui.continues import ContinuesWindow
|
||||||
|
|
||||||
|
ContinuesWindow(activity, cost, continue_call, cancel_call)
|
||||||
|
|
||||||
|
def profile_browser_window(
|
||||||
|
self,
|
||||||
|
transition: str = 'in_right',
|
||||||
|
in_main_menu: bool = True,
|
||||||
|
selected_profile: str | None = None,
|
||||||
|
origin_widget: bauiv1.Widget | None = None,
|
||||||
|
) -> None:
|
||||||
|
"""(internal)"""
|
||||||
|
from bastd.ui.profile.browser import ProfileBrowserWindow
|
||||||
|
|
||||||
|
ProfileBrowserWindow(
|
||||||
|
transition, in_main_menu, selected_profile, origin_widget
|
||||||
|
)
|
||||||
|
|||||||
@ -147,6 +147,9 @@ from bascenev1._freeforallsession import FreeForAllSession
|
|||||||
from bascenev1._gameactivity import GameActivity
|
from bascenev1._gameactivity import GameActivity
|
||||||
from bascenev1._score import ScoreType, ScoreConfig
|
from bascenev1._score import ScoreType, ScoreConfig
|
||||||
from bascenev1._dualteamsession import DualTeamSession
|
from bascenev1._dualteamsession import DualTeamSession
|
||||||
|
from bascenev1._lobby import Lobby, Chooser
|
||||||
|
from bascenev1._campaign import Campaign
|
||||||
|
from bascenev1._level import Level
|
||||||
from bascenev1._messages import (
|
from bascenev1._messages import (
|
||||||
UNHANDLED,
|
UNHANDLED,
|
||||||
OutOfBoundsMessage,
|
OutOfBoundsMessage,
|
||||||
@ -385,6 +388,10 @@ __all__ = [
|
|||||||
'AppIntentExec',
|
'AppIntentExec',
|
||||||
'AppMode',
|
'AppMode',
|
||||||
'SceneV1AppMode',
|
'SceneV1AppMode',
|
||||||
|
'Lobby',
|
||||||
|
'Chooser',
|
||||||
|
'Campaign',
|
||||||
|
'Level',
|
||||||
]
|
]
|
||||||
|
|
||||||
# Sanity check: we want to keep ballistica's dependencies and
|
# Sanity check: we want to keep ballistica's dependencies and
|
||||||
|
|||||||
@ -22,7 +22,6 @@ from bascenev1._player import Player
|
|||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Any
|
from typing import Any
|
||||||
import baclassic
|
|
||||||
import bascenev1
|
import bascenev1
|
||||||
|
|
||||||
PlayerT = TypeVar('PlayerT', bound=Player)
|
PlayerT = TypeVar('PlayerT', bound=Player)
|
||||||
|
|||||||
@ -18,7 +18,7 @@ from bascenev1._music import MusicType, setmusic
|
|||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
import babase
|
import babase
|
||||||
import bascenev1
|
import bascenev1
|
||||||
from baclassic._lobby import JoinInfo
|
from bascenev1._lobby import JoinInfo
|
||||||
|
|
||||||
|
|
||||||
class EndSessionActivity(Activity[EmptyPlayer, EmptyTeam]):
|
class EndSessionActivity(Activity[EmptyPlayer, EmptyTeam]):
|
||||||
@ -41,14 +41,17 @@ class EndSessionActivity(Activity[EmptyPlayer, EmptyTeam]):
|
|||||||
|
|
||||||
def on_begin(self) -> None:
|
def on_begin(self) -> None:
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bastd.mainmenu import MainMenuSession
|
|
||||||
|
assert _babase.app.classic is not None
|
||||||
from babase._general import Call
|
from babase._general import Call
|
||||||
|
|
||||||
|
main_menu_session = _babase.app.classic.get_main_menu_session()
|
||||||
|
|
||||||
super().on_begin()
|
super().on_begin()
|
||||||
_babase.unlock_all_input()
|
_babase.unlock_all_input()
|
||||||
assert _babase.app.classic is not None
|
assert _babase.app.classic is not None
|
||||||
_babase.app.classic.ads.call_after_ad(
|
_babase.app.classic.ads.call_after_ad(
|
||||||
Call(_bascenev1.new_host_session, MainMenuSession)
|
Call(_bascenev1.new_host_session, main_menu_session)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -110,10 +113,10 @@ class TransitionActivity(Activity[EmptyPlayer, EmptyTeam]):
|
|||||||
|
|
||||||
def on_transition_in(self) -> None:
|
def on_transition_in(self) -> None:
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bastd.actor import background # FIXME: Don't use bastd from here.
|
from bastd.actor.background import Background
|
||||||
|
|
||||||
super().on_transition_in()
|
super().on_transition_in()
|
||||||
self._background = background.Background(
|
self._background = Background(
|
||||||
fade_time=0.5, start_faded=False, show_logo=False
|
fade_time=0.5, start_faded=False, show_logo=False
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -10,10 +10,10 @@ import _babase
|
|||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Any
|
from typing import Any
|
||||||
import babase
|
import babase
|
||||||
import baclassic
|
import bascenev1
|
||||||
|
|
||||||
|
|
||||||
def register_campaign(campaign: baclassic.Campaign) -> None:
|
def register_campaign(campaign: bascenev1.Campaign) -> None:
|
||||||
"""Register a new campaign."""
|
"""Register a new campaign."""
|
||||||
assert _babase.app.classic is not None
|
assert _babase.app.classic is not None
|
||||||
_babase.app.classic.campaigns[campaign.name] = campaign
|
_babase.app.classic.campaigns[campaign.name] = campaign
|
||||||
@ -29,11 +29,11 @@ class Campaign:
|
|||||||
self,
|
self,
|
||||||
name: str,
|
name: str,
|
||||||
sequential: bool = True,
|
sequential: bool = True,
|
||||||
levels: list[baclassic.Level] | None = None,
|
levels: list[bascenev1.Level] | None = None,
|
||||||
):
|
):
|
||||||
self._name = name
|
self._name = name
|
||||||
self._sequential = sequential
|
self._sequential = sequential
|
||||||
self._levels: list[baclassic.Level] = []
|
self._levels: list[bascenev1.Level] = []
|
||||||
if levels is not None:
|
if levels is not None:
|
||||||
for level in levels:
|
for level in levels:
|
||||||
self.addlevel(level)
|
self.addlevel(level)
|
||||||
@ -49,7 +49,7 @@ class Campaign:
|
|||||||
return self._sequential
|
return self._sequential
|
||||||
|
|
||||||
def addlevel(
|
def addlevel(
|
||||||
self, level: baclassic.Level, index: int | None = None
|
self, level: bascenev1.Level, index: int | None = None
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Adds a baclassic.Level to the Campaign."""
|
"""Adds a baclassic.Level to the Campaign."""
|
||||||
if level.campaign is not None:
|
if level.campaign is not None:
|
||||||
@ -61,11 +61,11 @@ class Campaign:
|
|||||||
self._levels.insert(index, level)
|
self._levels.insert(index, level)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def levels(self) -> list[baclassic.Level]:
|
def levels(self) -> list[bascenev1.Level]:
|
||||||
"""The list of baclassic.Level-s in the Campaign."""
|
"""The list of baclassic.Level-s in the Campaign."""
|
||||||
return self._levels
|
return self._levels
|
||||||
|
|
||||||
def getlevel(self, name: str) -> baclassic.Level:
|
def getlevel(self, name: str) -> bascenev1.Level:
|
||||||
"""Return a contained baclassic.Level by name."""
|
"""Return a contained baclassic.Level by name."""
|
||||||
from babase import _error
|
from babase import _error
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ class Campaign:
|
|||||||
def init_campaigns() -> None:
|
def init_campaigns() -> None:
|
||||||
"""Fill out initial default Campaigns."""
|
"""Fill out initial default Campaigns."""
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from baclassic._level import Level
|
from bascenev1._level import Level
|
||||||
from bastd.game.onslaught import OnslaughtGame
|
from bastd.game.onslaught import OnslaughtGame
|
||||||
from bastd.game.football import FootballCoopGame
|
from bastd.game.football import FootballCoopGame
|
||||||
from bastd.game.runaround import RunaroundGame
|
from bastd.game.runaround import RunaroundGame
|
||||||
@ -15,7 +15,6 @@ if TYPE_CHECKING:
|
|||||||
from typing import Sequence
|
from typing import Sequence
|
||||||
from bastd.actor.playerspaz import PlayerSpaz
|
from bastd.actor.playerspaz import PlayerSpaz
|
||||||
import babase
|
import babase
|
||||||
import baclassic
|
|
||||||
import bascenev1
|
import bascenev1
|
||||||
|
|
||||||
PlayerT = TypeVar('PlayerT', bound='bascenev1.Player')
|
PlayerT = TypeVar('PlayerT', bound='bascenev1.Player')
|
||||||
|
|||||||
@ -12,7 +12,6 @@ from bascenev1._session import Session
|
|||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Any, Callable, Sequence
|
from typing import Any, Callable, Sequence
|
||||||
import babase
|
import babase
|
||||||
import baclassic
|
|
||||||
import bascenev1
|
import bascenev1
|
||||||
|
|
||||||
TEAM_COLORS = [(0.2, 0.4, 1.6)]
|
TEAM_COLORS = [(0.2, 0.4, 1.6)]
|
||||||
@ -36,27 +35,29 @@ class CoopSession(Session):
|
|||||||
# Note: even though these are instance vars, we annotate them at the
|
# Note: even though these are instance vars, we annotate them at the
|
||||||
# class level so that docs generation can access their types.
|
# class level so that docs generation can access their types.
|
||||||
|
|
||||||
campaign: baclassic.Campaign | None
|
campaign: bascenev1.Campaign | None
|
||||||
"""The baclassic.Campaign instance this Session represents, or None if
|
"""The baclassic.Campaign instance this Session represents, or None if
|
||||||
there is no associated Campaign."""
|
there is no associated Campaign."""
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
"""Instantiate a co-op mode session."""
|
"""Instantiate a co-op mode session."""
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bastd.activity.coopjoin import CoopJoinActivity
|
|
||||||
|
|
||||||
_babase.increment_analytics_count('Co-op session start')
|
_babase.increment_analytics_count('Co-op session start')
|
||||||
app = _babase.app
|
app = _babase.app
|
||||||
assert app.classic is not None
|
classic = app.classic
|
||||||
|
assert classic is not None
|
||||||
|
|
||||||
|
coop_join_activity = classic.get_coop_join_activity()
|
||||||
|
|
||||||
# If they passed in explicit min/max, honor that.
|
# If they passed in explicit min/max, honor that.
|
||||||
# Otherwise defer to user overrides or defaults.
|
# Otherwise defer to user overrides or defaults.
|
||||||
if 'min_players' in app.classic.coop_session_args:
|
if 'min_players' in classic.coop_session_args:
|
||||||
min_players = app.classic.coop_session_args['min_players']
|
min_players = classic.coop_session_args['min_players']
|
||||||
else:
|
else:
|
||||||
min_players = 1
|
min_players = 1
|
||||||
if 'max_players' in app.classic.coop_session_args:
|
if 'max_players' in classic.coop_session_args:
|
||||||
max_players = app.classic.coop_session_args['max_players']
|
max_players = classic.coop_session_args['max_players']
|
||||||
else:
|
else:
|
||||||
max_players = app.config.get('Coop Game Max Players', 4)
|
max_players = app.config.get('Coop Game Max Players', 4)
|
||||||
|
|
||||||
@ -72,21 +73,21 @@ class CoopSession(Session):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Tournament-ID if we correspond to a co-op tournament (otherwise None)
|
# Tournament-ID if we correspond to a co-op tournament (otherwise None)
|
||||||
self.tournament_id: str | None = app.classic.coop_session_args.get(
|
self.tournament_id: str | None = classic.coop_session_args.get(
|
||||||
'tournament_id'
|
'tournament_id'
|
||||||
)
|
)
|
||||||
|
|
||||||
self.campaign = app.classic.getcampaign(
|
self.campaign = classic.getcampaign(
|
||||||
app.classic.coop_session_args['campaign']
|
classic.coop_session_args['campaign']
|
||||||
)
|
)
|
||||||
self.campaign_level_name: str = app.classic.coop_session_args['level']
|
self.campaign_level_name: str = classic.coop_session_args['level']
|
||||||
|
|
||||||
self._ran_tutorial_activity = False
|
self._ran_tutorial_activity = False
|
||||||
self._tutorial_activity: bascenev1.Activity | None = None
|
self._tutorial_activity: bascenev1.Activity | None = None
|
||||||
self._custom_menu_ui: list[dict[str, Any]] = []
|
self._custom_menu_ui: list[dict[str, Any]] = []
|
||||||
|
|
||||||
# Start our joining screen.
|
# Start our joining screen.
|
||||||
self.setactivity(_bascenev1.newactivity(CoopJoinActivity))
|
self.setactivity(_bascenev1.newactivity(coop_join_activity))
|
||||||
|
|
||||||
self._next_game_instance: bascenev1.GameActivity | None = None
|
self._next_game_instance: bascenev1.GameActivity | None = None
|
||||||
self._next_game_level_name: str | None = None
|
self._next_game_level_name: str | None = None
|
||||||
@ -112,6 +113,9 @@ class CoopSession(Session):
|
|||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bascenev1._gameactivity import GameActivity
|
from bascenev1._gameactivity import GameActivity
|
||||||
|
|
||||||
|
classic = _babase.app.classic
|
||||||
|
assert classic is not None
|
||||||
|
|
||||||
# Instantiate levels we may be running soon to let them load in the bg.
|
# Instantiate levels we may be running soon to let them load in the bg.
|
||||||
|
|
||||||
# Build an instance for the current level.
|
# Build an instance for the current level.
|
||||||
@ -134,7 +138,7 @@ class CoopSession(Session):
|
|||||||
levels = self.campaign.levels
|
levels = self.campaign.levels
|
||||||
level = self.campaign.getlevel(self.campaign_level_name)
|
level = self.campaign.getlevel(self.campaign_level_name)
|
||||||
|
|
||||||
nextlevel: baclassic.Level | None
|
nextlevel: bascenev1.Level | None
|
||||||
if level.index < len(levels) - 1:
|
if level.index < len(levels) - 1:
|
||||||
nextlevel = levels[level.index + 1]
|
nextlevel = levels[level.index + 1]
|
||||||
else:
|
else:
|
||||||
@ -166,9 +170,8 @@ class CoopSession(Session):
|
|||||||
and self._tutorial_activity is None
|
and self._tutorial_activity is None
|
||||||
and not self._ran_tutorial_activity
|
and not self._ran_tutorial_activity
|
||||||
):
|
):
|
||||||
from bastd.tutorial import TutorialActivity
|
tutorial_activity = classic.get_tutorial_activity()
|
||||||
|
self._tutorial_activity = _bascenev1.newactivity(tutorial_activity)
|
||||||
self._tutorial_activity = _bascenev1.newactivity(TutorialActivity)
|
|
||||||
|
|
||||||
def get_custom_menu_entries(self) -> list[dict[str, Any]]:
|
def get_custom_menu_entries(self) -> list[dict[str, Any]]:
|
||||||
return self._custom_menu_ui
|
return self._custom_menu_ui
|
||||||
@ -220,14 +223,14 @@ class CoopSession(Session):
|
|||||||
self, resume_callback: Callable[[], Any]
|
self, resume_callback: Callable[[], Any]
|
||||||
) -> None:
|
) -> None:
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bastd.ui.tournamententry import TournamentEntryWindow
|
|
||||||
from bascenev1._gameactivity import GameActivity
|
from bascenev1._gameactivity import GameActivity
|
||||||
|
|
||||||
|
assert _babase.app.classic is not None
|
||||||
activity = self.getactivity()
|
activity = self.getactivity()
|
||||||
if activity is not None and not activity.expired:
|
if activity is not None and not activity.expired:
|
||||||
assert self.tournament_id is not None
|
assert self.tournament_id is not None
|
||||||
assert isinstance(activity, GameActivity)
|
assert isinstance(activity, GameActivity)
|
||||||
TournamentEntryWindow(
|
_babase.app.classic.tournament_entry_window(
|
||||||
tournament_id=self.tournament_id,
|
tournament_id=self.tournament_id,
|
||||||
tournament_activity=activity,
|
tournament_activity=activity,
|
||||||
on_close_call=resume_callback,
|
on_close_call=resume_callback,
|
||||||
@ -267,8 +270,6 @@ class CoopSession(Session):
|
|||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from babase._language import Lstr
|
from babase._language import Lstr
|
||||||
from babase._general import WeakCall
|
from babase._general import WeakCall
|
||||||
from bastd.tutorial import TutorialActivity
|
|
||||||
from bastd.activity.coopscore import CoopScoreScreen
|
|
||||||
from bascenev1._gameresults import GameResults
|
from bascenev1._gameresults import GameResults
|
||||||
from bascenev1._player import PlayerInfo
|
from bascenev1._player import PlayerInfo
|
||||||
from bascenev1._activitytypes import JoinActivity, TransitionActivity
|
from bascenev1._activitytypes import JoinActivity, TransitionActivity
|
||||||
@ -276,6 +277,11 @@ class CoopSession(Session):
|
|||||||
from bascenev1._score import ScoreType
|
from bascenev1._score import ScoreType
|
||||||
|
|
||||||
app = _babase.app
|
app = _babase.app
|
||||||
|
classic = app.classic
|
||||||
|
assert classic is not None
|
||||||
|
|
||||||
|
tutorial_activity = classic.get_tutorial_activity()
|
||||||
|
coop_score_screen = classic.get_coop_score_screen()
|
||||||
|
|
||||||
# If we're running a TeamGameActivity we'll have a GameResults
|
# If we're running a TeamGameActivity we'll have a GameResults
|
||||||
# as results. Otherwise its an old CoopGameActivity so its giving
|
# as results. Otherwise its an old CoopGameActivity so its giving
|
||||||
@ -297,7 +303,7 @@ class CoopSession(Session):
|
|||||||
# If we're in a between-round activity or a restart-activity,
|
# If we're in a between-round activity or a restart-activity,
|
||||||
# hop into a round.
|
# hop into a round.
|
||||||
if isinstance(
|
if isinstance(
|
||||||
activity, (JoinActivity, CoopScoreScreen, TransitionActivity)
|
activity, (JoinActivity, coop_score_screen, TransitionActivity)
|
||||||
):
|
):
|
||||||
if outcome == 'next_level':
|
if outcome == 'next_level':
|
||||||
if self._next_game_instance is None:
|
if self._next_game_instance is None:
|
||||||
@ -357,7 +363,7 @@ class CoopSession(Session):
|
|||||||
|
|
||||||
# If we were in a tutorial, just pop a transition to get to the
|
# If we were in a tutorial, just pop a transition to get to the
|
||||||
# actual round.
|
# actual round.
|
||||||
elif isinstance(activity, TutorialActivity):
|
elif isinstance(activity, tutorial_activity):
|
||||||
self.setactivity(_bascenev1.newactivity(TransitionActivity))
|
self.setactivity(_bascenev1.newactivity(TransitionActivity))
|
||||||
else:
|
else:
|
||||||
playerinfos: list[bascenev1.PlayerInfo]
|
playerinfos: list[bascenev1.PlayerInfo]
|
||||||
@ -424,7 +430,7 @@ class CoopSession(Session):
|
|||||||
else:
|
else:
|
||||||
self.setactivity(
|
self.setactivity(
|
||||||
_bascenev1.newactivity(
|
_bascenev1.newactivity(
|
||||||
CoopScoreScreen,
|
coop_score_screen,
|
||||||
{
|
{
|
||||||
'playerinfos': playerinfos,
|
'playerinfos': playerinfos,
|
||||||
'score': score,
|
'score': score,
|
||||||
|
|||||||
@ -34,17 +34,21 @@ class DualTeamSession(MultiTeamSession):
|
|||||||
|
|
||||||
def _switch_to_score_screen(self, results: bascenev1.GameResults) -> None:
|
def _switch_to_score_screen(self, results: bascenev1.GameResults) -> None:
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bastd.activity.drawscore import DrawScoreScreenActivity
|
classic = _babase.app.classic
|
||||||
from bastd.activity.dualteamscore import TeamVictoryScoreScreenActivity
|
assert classic is not None
|
||||||
from bastd.activity.multiteamvictory import (
|
|
||||||
TeamSeriesVictoryScoreScreenActivity,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
draw_score_screen_activity = classic.get_draw_score_screen_activity()
|
||||||
|
team_victory_score_screen_activity = (
|
||||||
|
classic.get_team_series_victory_score_screen_activity()
|
||||||
|
)
|
||||||
|
team_series_victory_score_screen_activity = (
|
||||||
|
classic.get_team_series_victory_score_screen_activity()
|
||||||
|
)
|
||||||
winnergroups = results.winnergroups
|
winnergroups = results.winnergroups
|
||||||
|
|
||||||
# If everyone has the same score, call it a draw.
|
# If everyone has the same score, call it a draw.
|
||||||
if len(winnergroups) < 2:
|
if len(winnergroups) < 2:
|
||||||
self.setactivity(_bascenev1.newactivity(DrawScoreScreenActivity))
|
self.setactivity(_bascenev1.newactivity(draw_score_screen_activity))
|
||||||
else:
|
else:
|
||||||
winner = winnergroups[0].teams[0]
|
winner = winnergroups[0].teams[0]
|
||||||
winner.customdata['score'] += 1
|
winner.customdata['score'] += 1
|
||||||
@ -53,12 +57,13 @@ class DualTeamSession(MultiTeamSession):
|
|||||||
if winner.customdata['score'] >= (self._series_length - 1) / 2 + 1:
|
if winner.customdata['score'] >= (self._series_length - 1) / 2 + 1:
|
||||||
self.setactivity(
|
self.setactivity(
|
||||||
_bascenev1.newactivity(
|
_bascenev1.newactivity(
|
||||||
TeamSeriesVictoryScoreScreenActivity, {'winner': winner}
|
team_series_victory_score_screen_activity,
|
||||||
|
{'winner': winner},
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
self.setactivity(
|
self.setactivity(
|
||||||
_bascenev1.newactivity(
|
_bascenev1.newactivity(
|
||||||
TeamVictoryScoreScreenActivity, {'winner': winner}
|
team_victory_score_screen_activity, {'winner': winner}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@ -27,7 +27,6 @@ if TYPE_CHECKING:
|
|||||||
from bastd.actor.bomb import TNTSpawner
|
from bastd.actor.bomb import TNTSpawner
|
||||||
import babase
|
import babase
|
||||||
import bascenev1
|
import bascenev1
|
||||||
import baclassic
|
|
||||||
|
|
||||||
PlayerT = TypeVar('PlayerT', bound='bascenev1.Player')
|
PlayerT = TypeVar('PlayerT', bound='bascenev1.Player')
|
||||||
TeamT = TypeVar('TeamT', bound='bascenev1.Team')
|
TeamT = TypeVar('TeamT', bound='bascenev1.Team')
|
||||||
@ -435,9 +434,12 @@ class GameActivity(Activity[PlayerT, TeamT]):
|
|||||||
"""
|
"""
|
||||||
# pylint: disable=too-many-nested-blocks
|
# pylint: disable=too-many-nested-blocks
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bastd.ui.continues import ContinuesWindow
|
|
||||||
from bascenev1._coopsession import CoopSession
|
from bascenev1._coopsession import CoopSession
|
||||||
|
|
||||||
|
classic = _babase.app.classic
|
||||||
|
assert classic is not None
|
||||||
|
continues_window = classic.continues_window
|
||||||
|
|
||||||
plus = _babase.app.plus
|
plus = _babase.app.plus
|
||||||
try:
|
try:
|
||||||
if plus is not None and plus.get_v1_account_misc_read_val(
|
if plus is not None and plus.get_v1_account_misc_read_val(
|
||||||
@ -464,7 +466,7 @@ class GameActivity(Activity[PlayerT, TeamT]):
|
|||||||
with _babase.ContextRef.empty():
|
with _babase.ContextRef.empty():
|
||||||
_babase.apptimer(
|
_babase.apptimer(
|
||||||
0.5,
|
0.5,
|
||||||
lambda: ContinuesWindow(
|
lambda: continues_window(
|
||||||
self,
|
self,
|
||||||
self._continue_cost,
|
self._continue_cost,
|
||||||
continue_call=WeakCall(
|
continue_call=WeakCall(
|
||||||
|
|||||||
@ -17,9 +17,9 @@ if TYPE_CHECKING:
|
|||||||
|
|
||||||
|
|
||||||
def launch_main_menu_session() -> None:
|
def launch_main_menu_session() -> None:
|
||||||
from bastd.mainmenu import MainMenuSession
|
assert _babase.app.classic is not None
|
||||||
|
|
||||||
_bascenev1.new_host_session(MainMenuSession)
|
_bascenev1.new_host_session(_babase.app.classic.get_main_menu_session())
|
||||||
|
|
||||||
|
|
||||||
def get_player_icon(sessionplayer: bascenev1.SessionPlayer) -> dict[str, Any]:
|
def get_player_icon(sessionplayer: bascenev1.SessionPlayer) -> dict[str, Any]:
|
||||||
|
|||||||
@ -7,18 +7,14 @@ import copy
|
|||||||
import weakref
|
import weakref
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
import _bauiv1
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
import baclassic
|
|
||||||
import bascenev1
|
import bascenev1
|
||||||
import bauiv1
|
|
||||||
|
|
||||||
|
|
||||||
class Level:
|
class Level:
|
||||||
"""An entry in a baclassic.Campaign consisting of a name, game type, and settings.
|
"""An entry in a bascenev1.Campaign.
|
||||||
|
|
||||||
Category: **Gameplay Classes**
|
Category: **Gameplay Classes**
|
||||||
"""
|
"""
|
||||||
@ -36,7 +32,7 @@ class Level:
|
|||||||
self._settings = settings
|
self._settings = settings
|
||||||
self._preview_texture_name = preview_texture_name
|
self._preview_texture_name = preview_texture_name
|
||||||
self._displayname = displayname
|
self._displayname = displayname
|
||||||
self._campaign: weakref.ref[baclassic.Campaign] | None = None
|
self._campaign: weakref.ref[bascenev1.Campaign] | None = None
|
||||||
self._index: int | None = None
|
self._index: int | None = None
|
||||||
self._score_version_string: str | None = None
|
self._score_version_string: str | None = None
|
||||||
|
|
||||||
@ -63,9 +59,9 @@ class Level:
|
|||||||
"""The preview texture name for this Level."""
|
"""The preview texture name for this Level."""
|
||||||
return self._preview_texture_name
|
return self._preview_texture_name
|
||||||
|
|
||||||
def get_preview_texture(self) -> bauiv1.Texture:
|
# def get_preview_texture(self) -> bauiv1.Texture:
|
||||||
"""Load/return the preview Texture for this Level."""
|
# """Load/return the preview Texture for this Level."""
|
||||||
return _bauiv1.gettexture(self._preview_texture_name)
|
# return _bauiv1.gettexture(self._preview_texture_name)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def displayname(self) -> bascenev1.Lstr:
|
def displayname(self) -> bascenev1.Lstr:
|
||||||
@ -90,7 +86,7 @@ class Level:
|
|||||||
return self._gametype
|
return self._gametype
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def campaign(self) -> baclassic.Campaign | None:
|
def campaign(self) -> bascenev1.Campaign | None:
|
||||||
"""The baclassic.Campaign this Level is associated with, or None."""
|
"""The baclassic.Campaign this Level is associated with, or None."""
|
||||||
return None if self._campaign is None else self._campaign()
|
return None if self._campaign is None else self._campaign()
|
||||||
|
|
||||||
@ -174,7 +170,7 @@ class Level:
|
|||||||
assert isinstance(val, dict)
|
assert isinstance(val, dict)
|
||||||
return val
|
return val
|
||||||
|
|
||||||
def set_campaign(self, campaign: baclassic.Campaign, index: int) -> None:
|
def set_campaign(self, campaign: bascenev1.Campaign, index: int) -> None:
|
||||||
"""For use by baclassic.Campaign when adding levels to itself.
|
"""For use by baclassic.Campaign when adding levels to itself.
|
||||||
|
|
||||||
(internal)"""
|
(internal)"""
|
||||||
@ -13,14 +13,13 @@ import _babase
|
|||||||
from babase._error import print_exception, print_error, NotFoundError
|
from babase._error import print_exception, print_error, NotFoundError
|
||||||
from babase._language import Lstr
|
from babase._language import Lstr
|
||||||
from babase._mgen.enums import SpecialChar, InputType
|
from babase._mgen.enums import SpecialChar, InputType
|
||||||
from bascenev1._gameutils import animate, animate_array
|
|
||||||
import _bascenev1
|
import _bascenev1
|
||||||
from baclassic._profile import get_player_profile_colors
|
from bascenev1._profile import get_player_profile_colors
|
||||||
|
from bascenev1._gameutils import animate, animate_array
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Any, Sequence
|
from typing import Any, Sequence
|
||||||
|
|
||||||
import baclassic
|
|
||||||
import bascenev1
|
import bascenev1
|
||||||
|
|
||||||
MAX_QUICK_CHANGE_COUNT = 30
|
MAX_QUICK_CHANGE_COUNT = 30
|
||||||
@ -32,7 +31,7 @@ QUICK_CHANGE_RESET_INTERVAL = 1.0
|
|||||||
class JoinInfo:
|
class JoinInfo:
|
||||||
"""Display useful info for joiners."""
|
"""Display useful info for joiners."""
|
||||||
|
|
||||||
def __init__(self, lobby: baclassic.Lobby):
|
def __init__(self, lobby: bascenev1.Lobby):
|
||||||
from bascenev1._nodeactor import NodeActor
|
from bascenev1._nodeactor import NodeActor
|
||||||
from babase._general import WeakCall
|
from babase._general import WeakCall
|
||||||
|
|
||||||
@ -121,8 +120,6 @@ class JoinInfo:
|
|||||||
self._timer = _bascenev1.Timer(4.0, WeakCall(self._update), repeat=True)
|
self._timer = _bascenev1.Timer(4.0, WeakCall(self._update), repeat=True)
|
||||||
|
|
||||||
def _update_for_keyboard(self, keyboard: bascenev1.InputDevice) -> None:
|
def _update_for_keyboard(self, keyboard: bascenev1.InputDevice) -> None:
|
||||||
from baclassic import _input
|
|
||||||
|
|
||||||
classic = _babase.app.classic
|
classic = _babase.app.classic
|
||||||
assert classic is not None
|
assert classic is not None
|
||||||
|
|
||||||
@ -164,7 +161,7 @@ class JoinInfo:
|
|||||||
class PlayerReadyMessage:
|
class PlayerReadyMessage:
|
||||||
"""Tells an object a player has been selected from the given chooser."""
|
"""Tells an object a player has been selected from the given chooser."""
|
||||||
|
|
||||||
chooser: baclassic.Chooser
|
chooser: bascenev1.Chooser
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -354,7 +351,7 @@ class Chooser:
|
|||||||
):
|
):
|
||||||
app.classic.lobby_random_profile_index += 1
|
app.classic.lobby_random_profile_index += 1
|
||||||
if app.classic.lobby_random_profile_index < len(profilenames):
|
if app.classic.lobby_random_profile_index < len(profilenames):
|
||||||
profileindex = app.classic.lobby_random_profile_index
|
profileindex: int = app.classic.lobby_random_profile_index
|
||||||
app.classic.lobby_random_profile_index += 1
|
app.classic.lobby_random_profile_index += 1
|
||||||
return profileindex
|
return profileindex
|
||||||
assert '_random' in profilenames
|
assert '_random' in profilenames
|
||||||
@ -384,14 +381,14 @@ class Chooser:
|
|||||||
return self.lobby.sessionteams[self._selected_team_index]
|
return self.lobby.sessionteams[self._selected_team_index]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def lobby(self) -> baclassic.Lobby:
|
def lobby(self) -> bascenev1.Lobby:
|
||||||
"""The chooser's baclassic.Lobby."""
|
"""The chooser's baclassic.Lobby."""
|
||||||
lobby = self._lobby()
|
lobby = self._lobby()
|
||||||
if lobby is None:
|
if lobby is None:
|
||||||
raise NotFoundError('Lobby does not exist.')
|
raise NotFoundError('Lobby does not exist.')
|
||||||
return lobby
|
return lobby
|
||||||
|
|
||||||
def get_lobby(self) -> baclassic.Lobby | None:
|
def get_lobby(self) -> bascenev1.Lobby | None:
|
||||||
"""Return this chooser's lobby if it still exists; otherwise None."""
|
"""Return this chooser's lobby if it still exists; otherwise None."""
|
||||||
return self._lobby()
|
return self._lobby()
|
||||||
|
|
||||||
@ -581,15 +578,17 @@ class Chooser:
|
|||||||
|
|
||||||
def _set_ready(self, ready: bool) -> None:
|
def _set_ready(self, ready: bool) -> None:
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bastd.ui.profile import browser as pbrowser
|
|
||||||
from babase._general import Call
|
from babase._general import Call
|
||||||
|
|
||||||
|
classic = _babase.app.classic
|
||||||
|
assert classic is not None
|
||||||
|
|
||||||
profilename = self._profilenames[self._profileindex]
|
profilename = self._profilenames[self._profileindex]
|
||||||
|
|
||||||
# Handle '_edit' as a special case.
|
# Handle '_edit' as a special case.
|
||||||
if profilename == '_edit' and ready:
|
if profilename == '_edit' and ready:
|
||||||
with _babase.ContextRef.empty():
|
with _babase.ContextRef.empty():
|
||||||
pbrowser.ProfileBrowserWindow(in_main_menu=False)
|
classic.profile_browser_window(in_main_menu=False)
|
||||||
|
|
||||||
# Give their input-device UI ownership too
|
# Give their input-device UI ownership too
|
||||||
# (prevent someone else from snatching it in crowded games)
|
# (prevent someone else from snatching it in crowded games)
|
||||||
@ -15,7 +15,6 @@ if TYPE_CHECKING:
|
|||||||
from typing import Sequence, Any
|
from typing import Sequence, Any
|
||||||
|
|
||||||
import babase
|
import babase
|
||||||
import baclassic
|
|
||||||
import bascenev1
|
import bascenev1
|
||||||
|
|
||||||
|
|
||||||
@ -66,7 +65,8 @@ def get_map_class(name: str) -> type[Map]:
|
|||||||
assert _babase.app.classic is not None
|
assert _babase.app.classic is not None
|
||||||
name = get_filtered_map_name(name)
|
name = get_filtered_map_name(name)
|
||||||
try:
|
try:
|
||||||
return _babase.app.classic.maps[name]
|
mapclass: type[Map] = _babase.app.classic.maps[name]
|
||||||
|
return mapclass
|
||||||
except KeyError:
|
except KeyError:
|
||||||
from babase import _error
|
from babase import _error
|
||||||
|
|
||||||
|
|||||||
@ -41,12 +41,14 @@ class MultiTeamSession(Session):
|
|||||||
"""Set up playlists & launch a bascenev1.Activity to accept joiners."""
|
"""Set up playlists & launch a bascenev1.Activity to accept joiners."""
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bascenev1 import _playlist
|
from bascenev1 import _playlist
|
||||||
from bastd.activity.multiteamjoin import MultiTeamJoinActivity
|
|
||||||
|
|
||||||
app = _babase.app
|
app = _babase.app
|
||||||
assert app.classic is not None
|
classic = app.classic
|
||||||
|
assert classic is not None
|
||||||
cfg = app.config
|
cfg = app.config
|
||||||
|
|
||||||
|
multi_team_join_activity = classic.get_multi_team_join_activity()
|
||||||
|
|
||||||
if self.use_teams:
|
if self.use_teams:
|
||||||
team_names = cfg.get('Custom Team Names', DEFAULT_TEAM_NAMES)
|
team_names = cfg.get('Custom Team Names', DEFAULT_TEAM_NAMES)
|
||||||
team_colors = cfg.get('Custom Team Colors', DEFAULT_TEAM_COLORS)
|
team_colors = cfg.get('Custom Team Colors', DEFAULT_TEAM_COLORS)
|
||||||
@ -65,18 +67,18 @@ class MultiTeamSession(Session):
|
|||||||
max_players=self.get_max_players(),
|
max_players=self.get_max_players(),
|
||||||
)
|
)
|
||||||
|
|
||||||
self._series_length = app.classic.teams_series_length
|
self._series_length: int = classic.teams_series_length
|
||||||
self._ffa_series_length = app.classic.ffa_series_length
|
self._ffa_series_length: int = classic.ffa_series_length
|
||||||
|
|
||||||
show_tutorial = cfg.get('Show Tutorial', True)
|
show_tutorial = cfg.get('Show Tutorial', True)
|
||||||
|
|
||||||
self._tutorial_activity_instance: bascenev1.Activity | None
|
self._tutorial_activity_instance: bascenev1.Activity | None
|
||||||
if show_tutorial:
|
if show_tutorial:
|
||||||
from bastd.tutorial import TutorialActivity
|
tutorial_activity = classic.get_tutorial_activity()
|
||||||
|
|
||||||
# Get this loading.
|
# Get this loading.
|
||||||
self._tutorial_activity_instance = _bascenev1.newactivity(
|
self._tutorial_activity_instance = _bascenev1.newactivity(
|
||||||
TutorialActivity
|
tutorial_activity
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
self._tutorial_activity_instance = None
|
self._tutorial_activity_instance = None
|
||||||
@ -131,7 +133,7 @@ class MultiTeamSession(Session):
|
|||||||
self._instantiate_next_game()
|
self._instantiate_next_game()
|
||||||
|
|
||||||
# Start in our custom join screen.
|
# Start in our custom join screen.
|
||||||
self.setactivity(_bascenev1.newactivity(MultiTeamJoinActivity))
|
self.setactivity(_bascenev1.newactivity(multi_team_join_activity))
|
||||||
|
|
||||||
def get_ffa_series_length(self) -> int:
|
def get_ffa_series_length(self) -> int:
|
||||||
"""Return free-for-all series length."""
|
"""Return free-for-all series length."""
|
||||||
@ -173,16 +175,19 @@ class MultiTeamSession(Session):
|
|||||||
self, activity: bascenev1.Activity, results: Any
|
self, activity: bascenev1.Activity, results: Any
|
||||||
) -> None:
|
) -> None:
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bastd.tutorial import TutorialActivity
|
|
||||||
from bastd.activity.multiteamvictory import (
|
|
||||||
TeamSeriesVictoryScoreScreenActivity,
|
|
||||||
)
|
|
||||||
from bascenev1._activitytypes import (
|
from bascenev1._activitytypes import (
|
||||||
TransitionActivity,
|
TransitionActivity,
|
||||||
JoinActivity,
|
JoinActivity,
|
||||||
ScoreScreenActivity,
|
ScoreScreenActivity,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
classic = _babase.app.classic
|
||||||
|
assert classic is not None
|
||||||
|
tutorial_activity = classic.get_tutorial_activity()
|
||||||
|
team_series_victory_score_screen_activity = (
|
||||||
|
classic.get_team_series_victory_score_screen_activity()
|
||||||
|
)
|
||||||
|
|
||||||
# If we have a tutorial to show, that's the first thing we do no
|
# If we have a tutorial to show, that's the first thing we do no
|
||||||
# matter what.
|
# matter what.
|
||||||
if self._tutorial_activity_instance is not None:
|
if self._tutorial_activity_instance is not None:
|
||||||
@ -192,7 +197,7 @@ class MultiTeamSession(Session):
|
|||||||
# If we're leaving the tutorial activity, pop a transition activity
|
# If we're leaving the tutorial activity, pop a transition activity
|
||||||
# to transition us into a round gracefully (otherwise we'd snap from
|
# to transition us into a round gracefully (otherwise we'd snap from
|
||||||
# one terrain to another instantly).
|
# one terrain to another instantly).
|
||||||
elif isinstance(activity, TutorialActivity):
|
elif isinstance(activity, tutorial_activity):
|
||||||
self.setactivity(_bascenev1.newactivity(TransitionActivity))
|
self.setactivity(_bascenev1.newactivity(TransitionActivity))
|
||||||
|
|
||||||
# If we're in a between-round activity or a restart-activity, hop
|
# If we're in a between-round activity or a restart-activity, hop
|
||||||
@ -201,7 +206,7 @@ class MultiTeamSession(Session):
|
|||||||
activity, (JoinActivity, TransitionActivity, ScoreScreenActivity)
|
activity, (JoinActivity, TransitionActivity, ScoreScreenActivity)
|
||||||
):
|
):
|
||||||
# If we're coming from a series-end activity, reset scores.
|
# If we're coming from a series-end activity, reset scores.
|
||||||
if isinstance(activity, TeamSeriesVictoryScoreScreenActivity):
|
if isinstance(activity, team_series_victory_score_screen_activity):
|
||||||
self.stats.reset()
|
self.stats.reset()
|
||||||
self._game_number = 0
|
self._game_number = 0
|
||||||
for team in self.sessionteams:
|
for team in self.sessionteams:
|
||||||
|
|||||||
@ -16,7 +16,6 @@ if TYPE_CHECKING:
|
|||||||
from typing import Sequence, Any
|
from typing import Sequence, Any
|
||||||
|
|
||||||
import babase
|
import babase
|
||||||
import baclassic
|
|
||||||
import bascenev1
|
import bascenev1
|
||||||
|
|
||||||
|
|
||||||
@ -47,7 +46,7 @@ class Session:
|
|||||||
# at the class level so that looks better and nobody get lost while
|
# at the class level so that looks better and nobody get lost while
|
||||||
# reading large __init__
|
# reading large __init__
|
||||||
|
|
||||||
lobby: baclassic.Lobby
|
lobby: bascenev1.Lobby
|
||||||
"""The baclassic.Lobby instance where new bascenev1.Player-s go to select
|
"""The baclassic.Lobby instance where new bascenev1.Player-s go to select
|
||||||
a Profile/Team/etc. before being added to games.
|
a Profile/Team/etc. before being added to games.
|
||||||
Be aware this value may be None if a Session does not allow
|
Be aware this value may be None if a Session does not allow
|
||||||
@ -93,12 +92,12 @@ class Session:
|
|||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
# pylint: disable=too-many-branches
|
# pylint: disable=too-many-branches
|
||||||
from efro.util import empty_weakref
|
from efro.util import empty_weakref
|
||||||
from baclassic._lobby import Lobby
|
|
||||||
from bascenev1._dependency import (
|
from bascenev1._dependency import (
|
||||||
Dependency,
|
Dependency,
|
||||||
AssetPackage,
|
AssetPackage,
|
||||||
DependencyError,
|
DependencyError,
|
||||||
)
|
)
|
||||||
|
from bascenev1._lobby import Lobby
|
||||||
from bascenev1._stats import Stats
|
from bascenev1._stats import Stats
|
||||||
from bascenev1._gameactivity import GameActivity
|
from bascenev1._gameactivity import GameActivity
|
||||||
from bascenev1._activity import Activity
|
from bascenev1._activity import Activity
|
||||||
@ -409,7 +408,6 @@ class Session:
|
|||||||
will replace the old.
|
will replace the old.
|
||||||
"""
|
"""
|
||||||
from babase._general import Call
|
from babase._general import Call
|
||||||
from babase._mgen.enums import TimeType
|
|
||||||
|
|
||||||
# Only pay attention if this is coming from our current activity.
|
# Only pay attention if this is coming from our current activity.
|
||||||
if activity is not self._activity_retained:
|
if activity is not self._activity_retained:
|
||||||
@ -436,7 +434,7 @@ class Session:
|
|||||||
|
|
||||||
def handlemessage(self, msg: Any) -> Any:
|
def handlemessage(self, msg: Any) -> Any:
|
||||||
"""General message handling; can be passed any message object."""
|
"""General message handling; can be passed any message object."""
|
||||||
from baclassic._lobby import PlayerReadyMessage
|
from bascenev1._lobby import PlayerReadyMessage
|
||||||
from bascenev1._messages import PlayerProfilesChangedMessage, UNHANDLED
|
from bascenev1._messages import PlayerProfilesChangedMessage, UNHANDLED
|
||||||
|
|
||||||
if isinstance(msg, PlayerReadyMessage):
|
if isinstance(msg, PlayerReadyMessage):
|
||||||
@ -629,7 +627,7 @@ class Session:
|
|||||||
self._activity_should_end_immediately_delay,
|
self._activity_should_end_immediately_delay,
|
||||||
)
|
)
|
||||||
|
|
||||||
def _on_player_ready(self, chooser: baclassic.Chooser) -> None:
|
def _on_player_ready(self, chooser: bascenev1.Chooser) -> None:
|
||||||
"""Called when a bascenev1.Player has checked themself ready."""
|
"""Called when a bascenev1.Player has checked themself ready."""
|
||||||
lobby = chooser.lobby
|
lobby = chooser.lobby
|
||||||
activity = self._activity_weak()
|
activity = self._activity_weak()
|
||||||
@ -691,7 +689,7 @@ class Session:
|
|||||||
_babase.pushcall(self.begin_next_activity)
|
_babase.pushcall(self.begin_next_activity)
|
||||||
|
|
||||||
def _add_chosen_player(
|
def _add_chosen_player(
|
||||||
self, chooser: baclassic.Chooser
|
self, chooser: bascenev1.Chooser
|
||||||
) -> bascenev1.SessionPlayer:
|
) -> bascenev1.SessionPlayer:
|
||||||
from bascenev1._team import SessionTeam
|
from bascenev1._team import SessionTeam
|
||||||
|
|
||||||
|
|||||||
@ -50,7 +50,7 @@ class CoopScoreScreen(bs.Activity[bs.Player, bs.Team]):
|
|||||||
self._menu_icon_texture = bui.gettexture('menuIcon')
|
self._menu_icon_texture = bui.gettexture('menuIcon')
|
||||||
self._next_level_icon_texture = bui.gettexture('nextLevelIcon')
|
self._next_level_icon_texture = bui.gettexture('nextLevelIcon')
|
||||||
|
|
||||||
self._campaign: baclassic.Campaign = settings['campaign']
|
self._campaign: bs.Campaign = settings['campaign']
|
||||||
|
|
||||||
self._have_achievements = (
|
self._have_achievements = (
|
||||||
bs.app.classic is not None
|
bs.app.classic is not None
|
||||||
|
|||||||
@ -87,7 +87,9 @@ class GameButton:
|
|||||||
size=(image_width, image_width * 0.5),
|
size=(image_width, image_width * 0.5),
|
||||||
mesh_transparent=window.lsbt,
|
mesh_transparent=window.lsbt,
|
||||||
mesh_opaque=window.lsbo,
|
mesh_opaque=window.lsbo,
|
||||||
texture=campaign.getlevel(levelname).get_preview_texture(),
|
texture=bui.gettexture(
|
||||||
|
campaign.getlevel(levelname).preview_texture_name
|
||||||
|
),
|
||||||
mask_texture=bui.gettexture('mapPreviewMask'),
|
mask_texture=bui.gettexture('mapPreviewMask'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -584,7 +584,9 @@ class TournamentButton:
|
|||||||
bui.textwidget(edit=self.button_text, text=txt)
|
bui.textwidget(edit=self.button_text, text=txt)
|
||||||
bui.imagewidget(
|
bui.imagewidget(
|
||||||
edit=self.image,
|
edit=self.image,
|
||||||
texture=campaign.getlevel(levelname).get_preview_texture(),
|
texture=bui.gettexture(
|
||||||
|
campaign.getlevel(levelname).preview_texture_name
|
||||||
|
),
|
||||||
opacity=1.0 if enabled else 0.5,
|
opacity=1.0 if enabled else 0.5,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user