From 1d4d415a19bc08dec2669028a727cb04f146539b Mon Sep 17 00:00:00 2001 From: Thaloria Date: Tue, 18 Oct 2022 22:16:39 +0200 Subject: [PATCH] added strategy parameter new ui elements for timing --- combined_user_interface.py | 72 ++++++++++++++++++++++++++++++++++++-- crops.py | 2 +- 2 files changed, 71 insertions(+), 3 deletions(-) diff --git a/combined_user_interface.py b/combined_user_interface.py index 8cd23ba..b98ca72 100644 --- a/combined_user_interface.py +++ b/combined_user_interface.py @@ -17,6 +17,7 @@ class PrimaryOverlay(threading.Thread): self.ButtonFrame = tk.Frame self.parameter_frame = tk.Frame self.parameter_label_frame = tk.Frame + self.timing_frame = tk.Frame self.rb_int = tk.IntVar self.energy_use = tk.StringVar @@ -43,10 +44,22 @@ class PrimaryOverlay(threading.Thread): self.StopButton = tk.Button self.PauseButton = tk.Button self.QuitButton = tk.Button - self.TkPosition = '133x239+60+600' + self.TkPosition = '133x305+60+600' self.setDaemon(True) self.StatusLabel = tk.Label + self.global_timeout_label = tk.Label + self.hourly_breaks_label = tk.Label + self.break_duration_label = tk.Label + self.global_timeout_entry = tk.Entry + self.hourly_breaks_entry = tk.Entry + self.break_duration_entry = tk.Entry + self.global_timeout_use = tk.StringVar + self.hourly_breaks_use = tk.StringVar + self.break_duration_use = tk.StringVar + + + # self.TkPosition = config.returnEnemyPlayerOverlayPos() # self.start() @@ -109,10 +122,41 @@ class PrimaryOverlay(threading.Thread): self.StatusLabel = tk.Label(self.root, text="Nothing to see here", font=("Helvetica", 10, "bold"), background="grey", anchor=tk.CENTER) + self.timing_frame = tk.Frame(self.root) + + self.global_timeout_use = tk.StringVar(self.root, value='0') + self.hourly_breaks_use = tk.StringVar(self.root, value='0') + self.break_duration_use = tk.StringVar(self.root, value='3') + + self.global_timeout_label = tk.Label(self.timing_frame, text="Stop after (h):", font=("Helvetica", 10, "bold"), + background="grey", width='13') + self.hourly_breaks_label = tk.Label(self.timing_frame, text="Breaks per hour:", font=("Helvetica", 10, "bold"), + background="grey", width='13') + self.break_duration_label = tk.Label(self.timing_frame, text="Break time (m):", font=("Helvetica", 10, "bold"), + background="grey", width='13') + self.global_timeout_entry = tk.Entry(self.timing_frame, textvariable=self.global_timeout_use, font=("Helvetica", 10, "bold"), + width='2') + self.hourly_breaks_entry = tk.Entry(self.timing_frame, textvariable=self.hourly_breaks_use, font=("Helvetica", 10, "bold"), + width='2') + self.break_duration_entry = tk.Entry(self.timing_frame, textvariable=self.break_duration_use, font=("Helvetica", 10, "bold"), + width='2') + + + + self.global_timeout_label.grid(row=0, column=0, sticky='w', columnspan=2 ) + self.global_timeout_entry.grid(row=0, column=3) + self.hourly_breaks_label.grid(row=1, column=0, sticky='w', columnspan=2) + self.hourly_breaks_entry.grid(row=1, column=3) + self.break_duration_label.grid(row=2, column=0, sticky='w', columnspan=2) + self.break_duration_entry.grid(row=2, column=3) + + + self.rb_frame.grid(row=0, column=0, sticky='w') self.ButtonFrame.grid(row=0, column=1, sticky='w') self.parameter_frame.grid(row=1, column=0, columnspan=2, sticky='w') - self.StatusLabel.grid(row=2, column=0, columnspan=2) + self.timing_frame.grid(row=2, column=0, columnspan=2, sticky='w') + self.StatusLabel.grid(row=3, column=0, columnspan=2) # self.ClearButton.pack(side="top") self.root.geometry(self.TkPosition) @@ -176,6 +220,18 @@ class PrimaryOverlay(threading.Thread): self.emitter_use.set('multi') self.hide_mining_overlay() elif self.rb_int.get() == 2 or self.rb_int.get() == 3: + self.EnergyEntry.configure(state=tk.DISABLED) + self.energy_use.set('') + self.SpawnEntry.configure(state=tk.DISABLED) + self.spawn_use.set('') + self.Emitter_Box.configure(state=tk.NORMAL) + self.Emitter_Box.configure(values=('rainbow', 'bigbomb', 'rocket', 'bomb')) + self.emitter_use.set('rainbow') + self.EmitterLabel.configure(text="Strat:") + self.SpawnLabel.configure(text="") + self.EnergyLabel.configure(text="") + self.hide_mining_overlay() + elif self.rb_int.get() == 3: self.EnergyEntry.configure(state=tk.DISABLED) self.energy_use.set('') self.SpawnEntry.configure(state=tk.DISABLED) @@ -233,3 +289,15 @@ class PrimaryOverlay(threading.Thread): def show_mining_overlay(self): self.MiningOverlay.show_window() + + def get_strategy_value_as_int(): + if self.emitter_use == "rainbow": + return 11 + elif self.emitter_use == "bigbomb": + return 9 + elif self.emitter_use == "rocket": + return 7 + elif self.emitter_use == "bomb": + return 5 + else: + return 11 diff --git a/crops.py b/crops.py index d125ef8..b8fd92e 100644 --- a/crops.py +++ b/crops.py @@ -51,7 +51,7 @@ class Crops(GameBase): self.colors.append(PURPLE) - self.current_strategy = RAINBOW_STRATEGY + self.current_strategy = overlay.get_strategy_value_as_int() self.fill_data_coordinates()