def __connect_buzzer(self, key, name): """ Interface de connexion de manette :param key: avec quelle key sera stockée le buzzer dans self.buzzers :param name: le nom qui sera affiché à l'écran """ # Si on a déjà un Buzzer du même nom, on le récupère buzzer_en_attente = None if key in self.buzzers: buzzer_en_attente = self.buzzers[key] else: buzzer_en_attente = Buzzer(key, dummy=self.dummy) # Démarre la connexion de façon asynchrone buzzer_en_attente.async_wait() # Ouvre une fenêtre win = WindowHelper.Instance() win.new_page('Page de connexion', WIN_WIDTH, WIN_HEIGHT ,label='connect_buzzer', bg='white') win.go_to('connect_buzzer') win.import_template('wiimote_connexion') win.edit_text('text_connexion_team', 'Télécommande {}'.format(name)) # à modifier win.refresh() # Variable d'execution vars = { 'buzzer_en_attente': buzzer_en_attente, 'self': self } # Attend que la manette soit connectée def waiting_connection(pg, win, vars, event): if event.type == pg.KEYDOWN and event.key == pg.K_d: vars['buzzer_en_attente'].dummy = True def before_fun(pg, win, vars): return vars['buzzer_en_attente'].connected win.event(before_fun=before_fun, event_fun=waiting_connection, vars=vars) # On attend que quelqu'un appuie sur un bouton # Stocke le nouveau buzzer self.buzzers[key] = buzzer_en_attente