private void changeAssignment(MappingTargetDeck assignment) { foreach (var m in _mappings) { m.ChangeAssignment(assignment); } CommandEditor.Assignment = assignment; ConditionsEditor.Refresh(); }
public void rotateAssignment(int step) { foreach (var m in _mappings) { var assignmentOptions = m.Command.AssignmentOptions; var target = m.TargetType; MappingTargetDeck cur_assignment = m.Assignment; MappingTargetDeck new_assignment; MappingTargetDeck max_assignment = MappingTargetDeck.DorFX4orRemixDeck1Slot4; // Todo: move this to class command switch (target) { case TargetType.Slot: max_assignment = MappingTargetDeck.RemixDeck4Slot4; break; case TargetType.Global: max_assignment = MappingTargetDeck.AorFX1orRemixDeck1Slot1OrGlobal; break; case TargetType.FX: case TargetType.Remix: max_assignment = MappingTargetDeck.DorFX4orRemixDeck1Slot4; break; case TargetType.Track: default: var Id = m.Command.Id; if ((KnownCommands)Id == KnownCommands.DeckCommon_DeckSizeSelector || (KnownCommands)Id == KnownCommands.DeckCommon_AdvancedPanelToggle) { max_assignment = MappingTargetDeck.BorFX2orRemixDeck1Slot2; } else { max_assignment = MappingTargetDeck.DorFX4orRemixDeck1Slot4; } break; } new_assignment = cur_assignment; if (step > 0) { if (cur_assignment >= max_assignment) { new_assignment = MappingTargetDeck.AorFX1orRemixDeck1Slot1OrGlobal; } else { new_assignment++; } } else if (step < 0) { if (cur_assignment <= MappingTargetDeck.AorFX1orRemixDeck1Slot1OrGlobal) { new_assignment = max_assignment; } else { new_assignment--; } } m.ChangeAssignment(new_assignment); } ConditionsEditor.Refresh(); //analyzeSelection(true); //updateMenus(false, true); }