Add files via upload

This commit is contained in:
Loup 2022-11-07 02:53:57 +05:30 committed by GitHub
parent e7d612d0bf
commit ef99b13364
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4,47 +4,43 @@ from typing import TYPE_CHECKING, cast
if TYPE_CHECKING: if TYPE_CHECKING:
from typing import Any, Sequence, Callable, List, Dict, Tuple, Optional, Union from typing import Any, Sequence, Callable, List, Dict, Tuple, Optional, Union
from os import listdir, mkdir from os import listdir,mkdir
from shutil import copy, copytree from shutil import copy,copytree
import ba import ba
import _ba import _ba
from bastd.ui.watch import WatchWindow as ww from bastd.ui.watch import WatchWindow as ww
from bastd.ui.popup import PopupWindow from bastd.ui.popup import PopupWindow
# mod by ʟօʊքɢǟʀօʊ #mod by ʟօʊքɢǟʀօʊ
# export replays to mods folder and share with your friends or have a backup #export replays to mods folder and share with your friends or have a backup
def Print(*args,color=None,top=None):
def Print(*args, color=None, top=None): out=""
out = ""
for arg in args: for arg in args:
a = str(arg) a=str(arg)
out += a out += a
ba.screenmessage(out, color=color, top=top) ba.screenmessage(out,color=color,top=top)
def cprint(*args): def cprint(*args):
out = "" out=""
for arg in args: for arg in args:
a = str(arg) a=str(arg)
out += a out += a
_ba.chatmessage(out) _ba.chatmessage(out)
internal_dir="/data/data/net.froemling.bombsquad/files/bombsquad_config/replays"
internal_dir = "/data/data/net.froemling.bombsquad/files/bombsquad_config/replays" external_dir="/storage/emulated/0/Android/data/net.froemling.bombsquad/files/mods/replays"
external_dir = "/storage/emulated/0/Android/data/net.froemling.bombsquad/files/mods/replays" #colors
# colors pink=(1,0.2,0.8)
pink = (1, 0.2, 0.8) green=(0.4,1,0.4)
green = (0.4, 1, 0.4) red=(1,0,0)
red = (1, 0, 0)
try: try:
mkdir(external_dir) mkdir(external_dir)
Print("You are ready to share replays", color=pink) Print("You are ready to share replays",color=pink)
except FileExistsError: except FileExistsError:
pass pass
class Help(PopupWindow): class Help(PopupWindow):
def __init__(self): def __init__(self):
uiscale = ba.app.ui.uiscale uiscale = ba.app.ui.uiscale
@ -56,9 +52,8 @@ class Help(PopupWindow):
size=(self.width, self.height), size=(self.width, self.height),
scale=1.2,) scale=1.2,)
ba.containerwidget(edit=self.root_widget, on_outside_click_call=self.close) ba.containerwidget(edit=self.root_widget,on_outside_click_call=self.close)
ba.textwidget(parent=self.root_widget, position=(0, self.height * 0.6), ba.textwidget(parent=self.root_widget,position=(0 , self.height * 0.6), text=f"•Replays are exported to\n {external_dir}\n•Importing replay and other features comming in v1.2")
text=f"•Replays are exported to\n {external_dir}\n•Importing replay and other features comming in v1.2")
def close(self): def close(self):
ba.playsound(ba.getsound('swish')) ba.playsound(ba.getsound('swish'))
@ -69,19 +64,18 @@ class SettingWindow():
def __init__(self): def __init__(self):
self.draw_ui() self.draw_ui()
self.selected_widget = None self.selected_widget = None
self.selected_name = None self.selected_name= None
def on_select_text(self, widget, name): def on_select_text(self,widget,name):
if self.selected_widget is not None: if self.selected_widget is not None:
ba.textwidget(edit=self.selected_widget, color=(1, 1, 1)) ba.textwidget(edit=self.selected_widget,color=(1,1,1))
ba.textwidget(edit=widget, color=(1, 1, 0)) ba.textwidget(edit=widget,color=(1,1,0))
self.selected_name = name self.selected_name = name
self.selected_widget = widget self.selected_widget = widget
def draw_ui(self): def draw_ui(self):
self.uiscale = ba.app.ui.uiscale self.uiscale = ba.app.ui.uiscale
self.root = ba.Window(ba.containerwidget( self.root=ba.Window(ba.containerwidget(size=(900, 670),on_outside_click_call=self.close,transition="in_right")).get_root_widget()
size=(900, 670), on_outside_click_call=self.close, transition="in_right")).get_root_widget()
ba.textwidget( ba.textwidget(
parent=self.root, parent=self.root,
@ -96,8 +90,8 @@ class SettingWindow():
ba.buttonwidget( ba.buttonwidget(
parent=self.root, parent=self.root,
position=(400, 580), position=(400,580),
size=(35, 35), size=(35,35),
label="Help", label="Help",
on_activate_call=Help) on_activate_call=Help)
@ -113,42 +107,41 @@ class SettingWindow():
parent=self.root, parent=self.root,
position=(820, 590), position=(820, 590),
size=(35, 35), size=(35, 35),
icon=ba.gettexture("crossOut"), texture=ba.gettexture("crossOut"),
icon_color=(1, 0.2, 0.2), label="",
scale=2, scale=2,
color=(1, 0.2, 0.2), color=(1, 0.2, 0.2),
extra_touch_border_scale=3, extra_touch_border_scale=3,
on_activate_call=self.close) on_activate_call=self.close)
scroll = ba.scrollwidget( scroll=ba.scrollwidget(
parent=self.root, parent=self.root,
size=(500, 400), size=(500,400),
position=(200, 150)) position=(200,150))
self.scroll = ba.columnwidget(parent=scroll, size=( self.scroll=ba.columnwidget(parent=scroll,size=(500,900),selection_loops_to_parent=True,single_depth=True)
500, 900), selection_loops_to_parent=True, single_depth=True)
height = 900 height=900
for i in listdir(internal_dir): for i in listdir(internal_dir):
height -= 40 height-=40
a = i a=i
i = ba.textwidget( i = ba.textwidget(
parent=self.scroll, parent=self.scroll,
size=(500, 50), size=(500,50),
text=i.split(".")[0], text= i.split(".")[0],
position=(10, height), position=(10,height),
selectable=True, selectable=True,
max_chars=40, max_chars=40,
click_activate=True,) click_activate=True,)
ba.textwidget(edit=i, on_activate_call=ba.Call(self.on_select_text, i, a)) ba.textwidget(edit=i,on_activate_call=ba.Call(self.on_select_text,i,a))
def export(self): def export(self):
if self.selected_name is None: if self.selected_name is None:
Print("Select a replay", color=red) Print("Select a replay",color=red)
return return
copy(internal_dir+"/"+self.selected_name, external_dir+"/"+self.selected_name) copy(internal_dir+"/"+self.selected_name,external_dir+"/"+self.selected_name)
# image={"texture":ba.gettexture("bombColor"),"tint_texture":None,"tint_color":None,"tint2_color":None}) Print(self.selected_name[0:-4]+" exported", top=True,color=pink)#image={"texture":ba.gettexture("bombColor"),"tint_texture":None,"tint_color":None,"tint2_color":None})
Print(self.selected_name[0:-4]+" exported", top=True, color=pink)
def close(self): def close(self):
ba.playsound(ba.getsound('swish')) ba.playsound(ba.getsound('swish'))
@ -161,11 +154,10 @@ class SettingWindow():
# -------------------------------------------------------------------------------------------------- # --------------------------------------------------------------------------------------------------
ww.__old_init__ = ww.__init__ ww.__old_init__=ww.__init__
def new_init(self,transition="in_right",origin_widget=None):
def new_init(self, transition="in_right", origin_widget=None): self.__old_init__(transition,origin_widget)
self.__old_init__(transition, origin_widget)
self._share_button = ba.buttonwidget( self._share_button = ba.buttonwidget(
parent=self._root_widget, parent=self._root_widget,
position=(self._width*0.70, self._height*0.80), position=(self._width*0.70, self._height*0.80),
@ -183,10 +175,12 @@ def new_init(self, transition="in_right", origin_widget=None):
class main(ba.Plugin): class main(ba.Plugin):
def on_app_running(self): def on_app_running(self):
ww.__init__ = new_init ww.__init__=new_init
def has_settings_ui(self): def has_settings_ui(self):
return True return True
def show_settings_ui(self, button): def show_settings_ui(self,button):
SettingWindow() SettingWindow()