////////// public void rotateModifierValue(int step) { foreach (var m in _mappings) { var command = m.Command; KnownCommands cur_id = (KnownCommands)m.Command.Id; if (!( (cur_id >= KnownCommands.Modifier_Modifier1) && (cur_id <= KnownCommands.Modifier_Modifier8) )) { continue; } var command2 = (cmdr.TsiLib.Commands.EnumInCommand <cmdr.TsiLib.Enums.ModifierValue>)command; ModifierValue cur_value = (ModifierValue)command2.Value; int cur_value_int = cur_value - ModifierValue._0; int new_value_int = rotate_modifier_value_int(cur_value_int, step); var new_value = ModifierValue._0 + new_value_int; command2.Value = new_value; m.UpdateInteraction(); } }
////////// public void rotateModifierCommand(int step) { foreach (var m in _mappings) { var command = m.Command; KnownCommands cur_id = (KnownCommands)m.Command.Id; if (!( (cur_id >= KnownCommands.Modifier_Modifier1) && (cur_id <= KnownCommands.Modifier_Modifier8) )) { continue; } int cur_modifier = cur_id - KnownCommands.Modifier_Modifier1 + 1; int new_modifier = rotate_modifier_key_int(cur_modifier, step); KnownCommands new_id = KnownCommands.Modifier_Modifier1 + new_modifier - 1; string new_name = String.Format("Modifier #{0}", new_modifier); // pestrela: this is a bit fragile, and should be improved m.Command.hack_modifier(new_id, new_name); m.hack_modifier(new_id); // would this be the proper way? // var _rawMapping = m._mapping.RawMapping; // ACommand Command = Commands.All.GetCommandProxy(_rawMapping.TraktorControlId, _rawMapping.Type).Create(_rawMapping.Settings); m.UpdateInteraction(); } }
public static KnownCommands Setup(this KnownCommands knownCommands) { knownCommands.Register(new StartSpanCommand()); knownCommands.Register(new LogCommand()); knownCommands.Register(new SetTagCommand()); knownCommands.Register(new FinishSpanCommand()); //batch save knownCommands.Register(new SaveSpansCommand()); return(knownCommands); }
public BattlePlayer() { EntityType = EntityTypes.Player; KnownCommands.Add(BattleCommand.BattleActions.Attack, new AttackCommand()); KnownCommands.Add(BattleCommand.BattleActions.Defend, new DefendCommand()); KnownCommands.Add(BattleCommand.BattleActions.Item, new ItemCommand()); KnownCommands.Add(BattleCommand.BattleActions.Magic, new SpellCommand()); //AttackAnim = new LoopAnimation(LoopAnimation.CONTINOUS_LOOP, new Texture(Constants.ContentPath + "CecilK.png"), 5f, //new IntRect(5, 83, 16, 23), new IntRect(25, 82, 16, 24), new IntRect(45, 82, 16, 24)); }
// pestrela: To recode! public void hack_modifier(KnownCommands new_id, String new_name) { Id = (int)new_id; Name = new_name; updateAssignmentOptions(); updateControlTypeOptions(); updateControlInteractionOptions(); updateControl(); }
public void rotateModifierConditionValue(int which, int step) { var conditions_editor = this.ConditionsEditor; var conditions_list = conditions_editor.Conditions; var modifier_list = conditions_list[2].Children; foreach (var mapping in _mappings) { ACondition cur_condition; if (which == 1) { cur_condition = mapping.Conditions.Condition1; } else { cur_condition = mapping.Conditions.Condition2; } if (cur_condition == null) { continue; // ignore no condition } KnownCommands id = (KnownCommands)cur_condition.Id; if (!((id >= KnownCommands.Modifier_Modifier1) && (id <= KnownCommands.Modifier_Modifier8))) { continue; // ignore non-modifiers } ModifierValue cur_value = (ModifierValue)cur_condition.GetValue(); int cur_value_int = cur_value - ModifierValue._0; int new_value_int = rotate_modifier_value_int(cur_value_int, step); var new_value = ModifierValue._0 + new_value_int; cur_condition.SetValue(new_value); mapping.UpdateConditionExpression(); } conditions_editor.Refresh(); }
public void hack_modifier(KnownCommands new_id) { var b = this._mapping; b.hack_modifier(new_id); }
public void hack_modifier(KnownCommands new_id) { RawMapping.TraktorControlId = (int)new_id; }
/// <summary> /// Creates a new <see cref="ViewModel"/> instance. /// </summary> public ViewModel() { // add all matching commands found with reflection AddCommands(KnownCommands.Where(cmd => cmd.GetType().HasGenericTypeArgument(GetType())).ToArray()); }
// code based on conditionsEditorViewMode::setCondition() public void rotateModifierCondition(int which, int step) { ConditionNumber number; if (which == 1) { number = ConditionNumber.One; } else { number = ConditionNumber.Two; } var conditions_editor = this.ConditionsEditor; var conditions_list = conditions_editor.Conditions; var modifier_list = conditions_list.Where(x => x.Text == "Modifier").First().Children; foreach (var mapping in _mappings) { ACondition cur_condition; if (which == 1) { cur_condition = mapping.Conditions.Condition1; } else { cur_condition = mapping.Conditions.Condition2; } if (cur_condition == null) { continue; // ignore no condition } KnownCommands id = (KnownCommands)cur_condition.Id; if (!((id >= KnownCommands.Modifier_Modifier1) && (id <= KnownCommands.Modifier_Modifier8))) { continue; // ignore non-modifiers } var cur_value = cur_condition.GetValue(); //// int cur_modifier = id - KnownCommands.Modifier_Modifier1 + 1; int new_modifier = rotate_modifier_key_int(cur_modifier, step); MenuItemViewModel item = modifier_list[new_modifier - 1]; ConditionProxy new_proxy = null; ACondition new_condition = null; if (item.Tag is ConditionProxy) { new_proxy = item.Tag as ConditionProxy; } else if (item.Tag is ACondition) { new_condition = item.Tag as ACondition; } if (new_proxy != null) { mapping.SetCondition(number, new_proxy); } else if (new_condition != null) { mapping.SetCondition(number, new_condition); } else { mapping.SetCondition(number, new_condition); // clear condition with null value } cur_condition.SetValue(cur_value); mapping.UpdateConditionExpression(); } conditions_editor.Refresh(); }
public void try_rotate_command(MappingViewModel m, int step, KnownCommands start_c, KnownCommands end_c) { var command = m.Command; KnownCommands cur_id = (KnownCommands)m.Command.Id; if (!is_range_id(cur_id, start_c, end_c)) { //return; } int cur_modifier = cur_id - start_c + 1; int start_i = 1; int end_i; switch (end_c) { case KnownCommands.FXUnit_Button3: case KnownCommands.FXUnit_Effect3Selector: case KnownCommands.FXUnit_Knob3: end_i = 3; break; case KnownCommands.Mixer_FXUnit4On: end_i = 4; break; case KnownCommands.Global_MidiControls_Buttons_MidiButton8: case KnownCommands.Global_MidiControls_Knobs_MidiFader8: case KnownCommands.Global_MidiControls_Knobs_MidiKnob8: case KnownCommands.Modifier_Modifier8: case KnownCommands.TrackDeck_Cue_Hotcue8Type: end_i = 8; break; case KnownCommands.RemixDeck_StepSequencer_EnableStep16: case KnownCommands.DeckCommon_FreezeMode_SliceTrigger16: // needs bugfix? //return; end_i = 16; break; default: MessageBoxHelper.ShowError(String.Format("Rotating command - unknown command: {0}", end_c)); return; } int distance_id = end_c - start_c + 1; if (distance_id != end_i) { MessageBoxHelper.ShowError(String.Format("Rotating command {0} has id_diff of {1}, but expected {2}", end_c, distance_id, end_i)); return; } if (!is_range_id(cur_id, start_c, end_c)) { return; } int new_modifier = rotate_modifier_key_int(cur_modifier, step, start_i, end_i); string new_name = patch_command_name(command.Name, new_modifier); KnownCommands new_id = start_c + new_modifier - 1; // pestrela: this is a bit fragile, and should be improved m.Command.hack_modifier(new_id, new_name); m.hack_modifier(new_id); // would this be the proper way? // var _rawMapping = m._mapping.RawMapping; // ACommand Command = Commands.All.GetCommandProxy(_rawMapping.TraktorControlId, _rawMapping.Type).Create(_rawMapping.Settings); m.UpdateInteraction(); }
public bool try_rotate_command_exceptions(MappingViewModel m, int step) // returns: handled { var command = m.Command; KnownCommands cur_id = (KnownCommands)m.Command.Id; int cur_modifier; switch (cur_id) { case KnownCommands.Mixer_FXUnit1On: cur_modifier = 1; break; case KnownCommands.Mixer_FXUnit2On: cur_modifier = 2; break; case KnownCommands.Mixer_FXUnit3On: cur_modifier = 3; break; case KnownCommands.Mixer_FXUnit4On: cur_modifier = 4; break; default: return(false); } int start_i = 1; int end_i = 4; int new_modifier = rotate_modifier_key_int(cur_modifier, step, start_i, end_i); string new_name = patch_command_name(command.Name, new_modifier); KnownCommands new_id; switch (new_modifier) { case 1: new_id = KnownCommands.Mixer_FXUnit1On; break; case 2: new_id = KnownCommands.Mixer_FXUnit2On; break; case 3: new_id = KnownCommands.Mixer_FXUnit3On; break; case 4: new_id = KnownCommands.Mixer_FXUnit4On; break; default: return(false); } ; // pestrela: this is a bit fragile, and should be improved m.Command.hack_modifier(new_id, new_name); m.hack_modifier(new_id); m.UpdateInteraction(); return(true); }
/////////// /////////// /////////// public bool is_range_id(KnownCommands cur_id, KnownCommands start, KnownCommands end) { return((cur_id >= start) && (cur_id <= end) ); }
// code was based on conditionsEditorViewMode::setCondition() public void rotateConditionItself(int which, int step) { ConditionNumber number; if (which == 1) { number = ConditionNumber.One; } else { number = ConditionNumber.Two; } var conditions_editor = this.ConditionsEditor; var conditions_list = conditions_editor.Conditions; var first_modifier = conditions_list.FirstOrDefault(x => x.Text == "M1"); // FIXME: this broken because of the tree removal if (first_modifier == null) { return; } ; int location = conditions_list.IndexOf(first_modifier); var modifier_list = conditions_list.Skip(location).Take(8).ToList(); foreach (var mapping in _mappings) { ACondition cur_condition; if (which == 1) { cur_condition = mapping.Conditions.Condition1; } else { cur_condition = mapping.Conditions.Condition2; } if (cur_condition == null) { continue; // ignore no condition } KnownCommands id = (KnownCommands)cur_condition.Id; if (!((id >= KnownCommands.Modifier_Modifier1) && (id <= KnownCommands.Modifier_Modifier8))) { continue; // ignore non-modifiers } var cur_value = cur_condition.GetValue(); //// int cur_modifier = id - KnownCommands.Modifier_Modifier1 + 1; int new_modifier = rotate_modifier_key_int(cur_modifier, step, 1, 8); MenuItemViewModel item = modifier_list[new_modifier - 1]; ConditionProxy new_proxy = null; ACondition new_condition = null; if (item.Tag is ConditionProxy) { new_proxy = item.Tag as ConditionProxy; } else if (item.Tag is ACondition) { new_condition = item.Tag as ACondition; } if (new_proxy != null) { mapping.SetCondition(number, new_proxy); } else if (new_condition != null) { mapping.SetCondition(number, new_condition); } else { mapping.SetCondition(number, new_condition); // clear condition with null value } cur_condition.SetValue(cur_value); mapping.UpdateConditionExpression(); } conditions_editor.Refresh(); }
public void try_rotate(MappingViewModel m, int step, KnownCommands start_c, KnownCommands end_c) { var command = m.Command; KnownCommands cur_id = (KnownCommands)m.Command.Id; if (!is_range_id(cur_id, start_c, end_c)) { return; } int cur_modifier = cur_id - start_c + 1; int start_i = 1; int end_i = 8; switch (end_c) { case KnownCommands.FXUnit_Button3: case KnownCommands.FXUnit_Effect3Selector: case KnownCommands.FXUnit_Knob3: end_i = 3; break; case KnownCommands.Global_MidiControls_Buttons_MidiButton8: case KnownCommands.Global_MidiControls_Knobs_MidiFader8: case KnownCommands.Global_MidiControls_Knobs_MidiKnob8: case KnownCommands.Modifier_Modifier8: case KnownCommands.TrackDeck_Cue_Hotcue8Type: end_i = 8; break; case KnownCommands.Mixer_FXUnit4On: end_i = 4; break; case KnownCommands.RemixDeck_StepSequencer_EnableStep16: // needs bugfix return; end_i = 16; break; } int new_modifier = rotate_modifier_key_int(cur_modifier, step, start_i, end_i); string new_name = patch_command_name(command.Name, new_modifier); KnownCommands new_id = start_c + new_modifier - 1; // pestrela: this is a bit fragile, and should be improved m.Command.hack_modifier(new_id, new_name); m.hack_modifier(new_id); // would this be the proper way? // var _rawMapping = m._mapping.RawMapping; // ACommand Command = Commands.All.GetCommandProxy(_rawMapping.TraktorControlId, _rawMapping.Type).Create(_rawMapping.Settings); m.UpdateInteraction(); }