From f814da1f4fd29e636bf335ba8bd087f6532de19d Mon Sep 17 00:00:00 2001 From: pokepetter Date: Tue, 3 Oct 2023 22:51:34 +0200 Subject: [PATCH] made ursfx ui not get created on import but on open. --- ursina/prefabs/ursfx.py | 24 +++++++++++++----------- ursina/window.py | 2 +- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/ursina/prefabs/ursfx.py b/ursina/prefabs/ursfx.py index 083ead70..bcb94fd3 100644 --- a/ursina/prefabs/ursfx.py +++ b/ursina/prefabs/ursfx.py @@ -51,7 +51,7 @@ def ursfx(volume_curve, volume=.75, wave='sine', pitch=0, pitch_change=0, speed= return a -class SynthGUI(Entity): +class UrsfxGUI(Entity): def __init__(self, **kwargs): super().__init__(parent=camera.ui, z=-998, **kwargs) @@ -270,19 +270,21 @@ def play(self): self.code_text.text = self.recipe -if __name__ == '__main__': - app = Ursina() - -gui = SynthGUI(enabled=False) - -def toggle_gui_input(key): - if key == 'f3': - gui.enabled = not gui.enabled +gui = None +def open_gui(): + global gui + if not gui: + gui = UrsfxGUI(enabled=False) -Entity(input=toggle_gui_input) + def toggle_gui_input(key): + if key == 'f3': + gui.enabled = not gui.enabled + Entity(input=toggle_gui_input) + gui.enabled = True if __name__ == '__main__': + app = Ursina() + sfx_editor = UrsfxGUI() Sprite('shore', z=10, ppu=64, color=color.gray) - gui.enabled = True app.run() diff --git a/ursina/window.py b/ursina/window.py index b697da6d..d7b293c7 100644 --- a/ursina/window.py +++ b/ursina/window.py @@ -191,7 +191,7 @@ def _collider_counter_update(): # 'Build' : Func(print, ' '), 'API Reference' : Func(webbrowser.open, 'https://www.ursinaengine.org/api_reference.html'), # 'Asset Store' : Func(webbrowser.open, 'https://itch.io/tools/tag-ursina'), - 'ursfx (Sound Effect Maker)' : lambda: exec('from ursina.prefabs import ursfx; ursfx.gui.enabled = True'), + 'ursfx (Sound Effect Maker)' : lambda: exec('from ursina.prefabs import ursfx; ursfx.open_gui()'), # 'Open Scene Editor' : Func(print, ' '), 'Change Render Mode [F10]' : self.next_render_mode, 'Reset Render Mode [Shift+F10]' : Func(setattr, self, 'render_mode', 'default'),