def _configure_triggers(self, data): for trig in self._triggers: trig.reset_configuration() self._triggers.clear() for elem in data: # print(elem) simvar = elem.get('simvar') trigger_type = elem.get('trigger_type', None) trigger_index = elem.get('trigger_index', None) condition = elem.get('condition', None) object_to_trigger = None trigger = Trigger() trigger.bind_to_simvar(simvar) if trigger_type == "encoder": object_to_trigger = self._encoders[trigger_index - 1] trigger.bind_to_event(object_to_trigger.on_alternate) elif trigger_type == "button": object_to_trigger = self._buttons[trigger_index - 1] elif trigger_type == "condition": trigger.bind_to_event(ConditionalRunner(condition)) elif trigger_type == "condition-file": trigger.bind_to_event(ConditionalRunner("", condition)) else: raise ValueError(f"Unknown trigger type: {trigger_type}") self._triggers.append(trigger)