def change_mode(self, name, *args, **kwargs): if not Registry.mode_exists(name): raise ModeNotFoundError(f"mode '{name}' not existent") # Hide old mode first if self.currentMode is not None: self.currentMode.stop_mode() # Get new mode and show it new_mode = Registry.get_mode(name) self.currentModeName = name self.currentMode: Mode = new_mode self.currentMode.start_mode(*args, **kwargs)
def on_key_release(self, evt: KeyReleaseEvent): if evt.keySym.lower() == "return": Registry.get_mode("teleport").execute("done", x=self.get_coords()[0], y=self.get_coords()[1])