bauiv1lib.coop.level
Bits of utility functionality related to co-op levels.
1# Released under the MIT License. See LICENSE for details. 2# 3"""Bits of utility functionality related to co-op levels.""" 4 5from __future__ import annotations 6 7import bauiv1 as bui 8 9 10class CoopLevelLockedWindow(bui.Window): 11 """Window showing that a level is locked.""" 12 13 def __init__(self, name: bui.Lstr, dep_name: bui.Lstr): 14 width = 550.0 15 height = 250.0 16 lock_tex = bui.gettexture('lock') 17 assert bui.app.classic is not None 18 uiscale = bui.app.ui_v1.uiscale 19 super().__init__( 20 root_widget=bui.containerwidget( 21 size=(width, height), 22 transition='in_right', 23 scale=( 24 1.7 25 if uiscale is bui.UIScale.SMALL 26 else 1.3 if uiscale is bui.UIScale.MEDIUM else 1.0 27 ), 28 ) 29 ) 30 bui.textwidget( 31 parent=self._root_widget, 32 position=(150 - 20, height * 0.63), 33 size=(0, 0), 34 h_align='left', 35 v_align='center', 36 text=bui.Lstr( 37 resource='levelIsLockedText', subs=[('${LEVEL}', name)] 38 ), 39 maxwidth=400, 40 color=(1, 0.8, 0.3, 1), 41 scale=1.1, 42 ) 43 bui.textwidget( 44 parent=self._root_widget, 45 position=(150 - 20, height * 0.48), 46 size=(0, 0), 47 h_align='left', 48 v_align='center', 49 text=bui.Lstr( 50 resource='levelMustBeCompletedFirstText', 51 subs=[('${LEVEL}', dep_name)], 52 ), 53 maxwidth=400, 54 color=bui.app.ui_v1.infotextcolor, 55 scale=0.8, 56 ) 57 bui.imagewidget( 58 parent=self._root_widget, 59 position=(56 - 20, height * 0.39), 60 size=(80, 80), 61 texture=lock_tex, 62 opacity=1.0, 63 ) 64 btn = bui.buttonwidget( 65 parent=self._root_widget, 66 position=((width - 140) / 2, 30), 67 size=(140, 50), 68 label=bui.Lstr(resource='okText'), 69 on_activate_call=self._ok, 70 ) 71 bui.containerwidget( 72 edit=self._root_widget, selected_child=btn, start_button=btn 73 ) 74 bui.getsound('error').play() 75 76 def _ok(self) -> None: 77 bui.containerwidget(edit=self._root_widget, transition='out_left')
class
CoopLevelLockedWindow(bauiv1._uitypes.Window):
11class CoopLevelLockedWindow(bui.Window): 12 """Window showing that a level is locked.""" 13 14 def __init__(self, name: bui.Lstr, dep_name: bui.Lstr): 15 width = 550.0 16 height = 250.0 17 lock_tex = bui.gettexture('lock') 18 assert bui.app.classic is not None 19 uiscale = bui.app.ui_v1.uiscale 20 super().__init__( 21 root_widget=bui.containerwidget( 22 size=(width, height), 23 transition='in_right', 24 scale=( 25 1.7 26 if uiscale is bui.UIScale.SMALL 27 else 1.3 if uiscale is bui.UIScale.MEDIUM else 1.0 28 ), 29 ) 30 ) 31 bui.textwidget( 32 parent=self._root_widget, 33 position=(150 - 20, height * 0.63), 34 size=(0, 0), 35 h_align='left', 36 v_align='center', 37 text=bui.Lstr( 38 resource='levelIsLockedText', subs=[('${LEVEL}', name)] 39 ), 40 maxwidth=400, 41 color=(1, 0.8, 0.3, 1), 42 scale=1.1, 43 ) 44 bui.textwidget( 45 parent=self._root_widget, 46 position=(150 - 20, height * 0.48), 47 size=(0, 0), 48 h_align='left', 49 v_align='center', 50 text=bui.Lstr( 51 resource='levelMustBeCompletedFirstText', 52 subs=[('${LEVEL}', dep_name)], 53 ), 54 maxwidth=400, 55 color=bui.app.ui_v1.infotextcolor, 56 scale=0.8, 57 ) 58 bui.imagewidget( 59 parent=self._root_widget, 60 position=(56 - 20, height * 0.39), 61 size=(80, 80), 62 texture=lock_tex, 63 opacity=1.0, 64 ) 65 btn = bui.buttonwidget( 66 parent=self._root_widget, 67 position=((width - 140) / 2, 30), 68 size=(140, 50), 69 label=bui.Lstr(resource='okText'), 70 on_activate_call=self._ok, 71 ) 72 bui.containerwidget( 73 edit=self._root_widget, selected_child=btn, start_button=btn 74 ) 75 bui.getsound('error').play() 76 77 def _ok(self) -> None: 78 bui.containerwidget(edit=self._root_widget, transition='out_left')
Window showing that a level is locked.
CoopLevelLockedWindow(name: babase.Lstr, dep_name: babase.Lstr)
14 def __init__(self, name: bui.Lstr, dep_name: bui.Lstr): 15 width = 550.0 16 height = 250.0 17 lock_tex = bui.gettexture('lock') 18 assert bui.app.classic is not None 19 uiscale = bui.app.ui_v1.uiscale 20 super().__init__( 21 root_widget=bui.containerwidget( 22 size=(width, height), 23 transition='in_right', 24 scale=( 25 1.7 26 if uiscale is bui.UIScale.SMALL 27 else 1.3 if uiscale is bui.UIScale.MEDIUM else 1.0 28 ), 29 ) 30 ) 31 bui.textwidget( 32 parent=self._root_widget, 33 position=(150 - 20, height * 0.63), 34 size=(0, 0), 35 h_align='left', 36 v_align='center', 37 text=bui.Lstr( 38 resource='levelIsLockedText', subs=[('${LEVEL}', name)] 39 ), 40 maxwidth=400, 41 color=(1, 0.8, 0.3, 1), 42 scale=1.1, 43 ) 44 bui.textwidget( 45 parent=self._root_widget, 46 position=(150 - 20, height * 0.48), 47 size=(0, 0), 48 h_align='left', 49 v_align='center', 50 text=bui.Lstr( 51 resource='levelMustBeCompletedFirstText', 52 subs=[('${LEVEL}', dep_name)], 53 ), 54 maxwidth=400, 55 color=bui.app.ui_v1.infotextcolor, 56 scale=0.8, 57 ) 58 bui.imagewidget( 59 parent=self._root_widget, 60 position=(56 - 20, height * 0.39), 61 size=(80, 80), 62 texture=lock_tex, 63 opacity=1.0, 64 ) 65 btn = bui.buttonwidget( 66 parent=self._root_widget, 67 position=((width - 140) / 2, 30), 68 size=(140, 50), 69 label=bui.Lstr(resource='okText'), 70 on_activate_call=self._ok, 71 ) 72 bui.containerwidget( 73 edit=self._root_widget, selected_child=btn, start_button=btn 74 ) 75 bui.getsound('error').play()