Skip to content

Commit 04f2817

Browse files
committed
Allow scrolling script action argument
1 parent 7734fc6 commit 04f2817

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

src/TSMapEditor/UI/Windows/ScriptsWindow.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ public override void Initialize()
118118

119119
tbName.TextChanged += TbName_TextChanged;
120120
tbParameterValue.TextChanged += TbParameterValue_TextChanged;
121+
tbParameterValue.MouseScrolled += TbParameterValue_MouseScrolled;
121122
lbScriptTypes.SelectedIndexChanged += LbScriptTypes_SelectedIndexChanged;
122123
lbActions.SelectedIndexChanged += LbActions_SelectedIndexChanged;
123124

@@ -484,6 +485,23 @@ private void TbParameterValue_TextChanged(object sender, EventArgs e)
484485
lbActions.SelectedItem.Text = GetActionEntryText(lbActions.SelectedIndex, entry);
485486
}
486487

488+
private void TbParameterValue_MouseScrolled(object sender, InputEventArgs e)
489+
{
490+
e.Handled = true;
491+
492+
if (lbActions.SelectedItem == null || editedScript == null)
493+
return;
494+
495+
ScriptActionEntry entry = editedScript.Actions[lbActions.SelectedIndex];
496+
entry.Argument = Cursor.ScrollWheelValue > 0 ? entry.Argument - 1 : entry.Argument + 1;
497+
lbActions.SelectedItem.Text = GetActionEntryText(lbActions.SelectedIndex, entry);
498+
499+
tbParameterValue.TextChanged -= TbParameterValue_TextChanged;
500+
ScriptAction action = map.EditorConfig.ScriptActions.GetValueOrDefault(entry.Action);
501+
SetParameterEntryText(entry, action);
502+
tbParameterValue.TextChanged += TbParameterValue_TextChanged;
503+
}
504+
487505
private void ContextMenu_OptionSelected(object sender, ContextMenuItemSelectedEventArgs e)
488506
{
489507
if (lbActions.SelectedItem == null || editedScript == null)
@@ -706,6 +724,12 @@ private void SetParameterEntryText(ScriptActionEntry scriptActionEntry, ScriptAc
706724

707725
return;
708726
}
727+
else if (action.ParamType == TriggerParamType.LocalVariable)
728+
{
729+
LocalVariable localVariable = map.LocalVariables.Find(lv => lv.Index == scriptActionEntry.Argument);
730+
if (localVariable != null)
731+
tbParameterValue.Text = localVariable.Index + " - " + localVariable.Name;
732+
}
709733

710734
int presetIndex = action.PresetOptions.FindIndex(p => p.Value == scriptActionEntry.Argument);
711735

0 commit comments

Comments
 (0)