Merge pull request #87 from fishyboteso/feature/fullauto

fullauto improvement and public release
This commit is contained in:
Adam Saudagar 2021-05-22 06:12:55 +05:30 committed by GitHub
commit d8c73a93b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 23 additions and 10 deletions

View File

@ -46,10 +46,15 @@ class Recorder(IMode):
start_from = None
if config.get("edit_recorder_mode"):
logging.info("moving to nearest coord in recording")
old_timeline = player.get_rec_file()
if not old_timeline:
log_raise("Edit mode selected, but no fishy file selected")
coords = self.engine.get_coords()
if not coords:
log_raise("QR not found")
start_from = player.find_nearest(old_timeline, coords)
if not self.engine.move_to(start_from[2]):
log_raise("QR not found")
@ -103,10 +108,10 @@ class Recorder(IMode):
button[0] = _button
top.quit_top()
selected_text = f"\n\nSelected: {os.path.basename(config.get('full_auto_rec_file'))}" if config.get('full_auto_rec_file') else ""
selected_text = f"\n\nSelected: {os.path.basename(config.get('full_auto_rec_file'))}" if config.get('edit_recorder_mode') else ""
ttk.Label(controls_frame, text=f"Do you want to save the recording?{selected_text}").grid(row=0, column=0, columnspan=3, pady=(0, 5))
_overwrite = tk.NORMAL if config.get("full_auto_rec_file") else tk.DISABLED
_overwrite = tk.NORMAL if config.get("edit_recorder_mode") else tk.DISABLED
ttk.Button(controls_frame, text="Overwrite", command=lambda: button_pressed(0), state=_overwrite).grid(row=1, column=0, pady=(5, 0))
ttk.Button(controls_frame, text="Save As", command=lambda: button_pressed(1)).grid(row=1, column=1)
ttk.Button(controls_frame, text="Cancel", command=lambda: button_pressed(2)).grid(row=1, column=2)

View File

@ -50,5 +50,5 @@ class GUIFuncs:
def start_engine(self):
def start_engine():
config.set("last_started", self.gui._engine_var.get())
self.gui.engines[self.gui._engine_var.get()][1]()
self.gui.engines[self.gui._engine_var.get()].start()
self.gui.call_in_thread(start_engine)

View File

@ -4,6 +4,7 @@ import threading
import tkinter as tk
import uuid
from typing import Any, Callable, Dict, Optional
from dataclasses import dataclass
from ttkthemes import ThemedTk
@ -18,6 +19,12 @@ from . import main_gui
from .log_config import GUIStreamHandler
@dataclass
class EngineRunner:
config: Callable
start: Callable
class GUI:
def __init__(self, get_engine: Callable[[], IEngineHandler]):
self.funcs = GUIFuncs(self)
@ -58,13 +65,13 @@ class GUI:
@property
def engines(self):
engines = {
"Semi Fisher": [lambda: config_top.start_semifisher_config(self), # start config function
self.engine.toggle_semifisher], # start engine function
"Semi Fisher": EngineRunner(lambda: config_top.start_semifisher_config(self),
self.engine.toggle_semifisher),
"Full-Auto Fisher": EngineRunner(lambda: config_top.start_fullfisher_config(self),
self.engine.toggle_fullfisher)
}
if web.has_beta():
engines["Full-Auto Fisher"] = [lambda: config_top.start_fullfisher_config(self),
self.engine.toggle_fullfisher]
return engines
def create(self):

View File

@ -87,7 +87,7 @@ def _create(gui: 'GUI'):
menubar.add_cascade(label="Debug", menu=debug_menu)
help_menu = tk.Menu(menubar, tearoff=0)
help_menu.add_command(label="Need Help?", command=lambda: helper.open_web("http://discord.definex.in"))
help_menu.add_command(label="Need Help?", command=lambda: helper.open_web("https://github.com/fishyboteso/fishyboteso/wiki"))
help_menu.add_command(label="Donate", command=lambda: helper.open_web("https://paypal.me/AdamSaudagar"))
menubar.add_cascade(label="Help", menu=help_menu)
@ -110,7 +110,8 @@ def _create(gui: 'GUI'):
gui._engine_select = ttk.OptionMenu(start_frame, gui._engine_var, last_started, *labels)
gui._engine_select.pack(side=tk.LEFT)
gui._config_button = ttk.Button(start_frame, text="", width=0, command=lambda: engines[gui._engine_var.get()][0]())
gui._config_button = ttk.Button(start_frame, text="", width=0,
command=lambda: engines[gui._engine_var.get()].config())
gui._config_button.pack(side=tk.RIGHT)
gui._start_button = ttk.Button(start_frame, text=gui._get_start_stop_text(), width=25,