mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 17:56:51 +13:00
Unlimited loop support and not using line delay for function, call, wait
This commit is contained in:
parent
5897af0163
commit
780c1d3ae8
3 changed files with 47 additions and 27 deletions
|
@ -134,10 +134,13 @@ public bool Compile(string[] lines)
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Start()
|
public void Start()
|
||||||
|
{
|
||||||
|
if (FunctionList != null)
|
||||||
{
|
{
|
||||||
stopRequest = false;
|
stopRequest = false;
|
||||||
Run(0);
|
Run(0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Stop()
|
public void Stop()
|
||||||
{
|
{
|
||||||
|
@ -146,27 +149,27 @@ public void Stop()
|
||||||
|
|
||||||
public void Run(int startIndex)
|
public void Run(int startIndex)
|
||||||
{
|
{
|
||||||
if (FunctionList != null)
|
for (int i = startIndex; !stopRequest && i < FunctionList.Count; i++)
|
||||||
{
|
{
|
||||||
Function function;
|
Function function = FunctionList[i];
|
||||||
|
|
||||||
for (int i = startIndex; i < FunctionList.Count && !stopRequest; i++)
|
|
||||||
{
|
|
||||||
function = FunctionList[i];
|
|
||||||
|
|
||||||
if (function == null)
|
if (function == null)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int count = 0; count < function.Loop && !stopRequest; count++)
|
if (function.Loop <= 0)
|
||||||
{
|
{
|
||||||
function.Method();
|
while (!stopRequest)
|
||||||
|
|
||||||
if (LineDelay > 0)
|
|
||||||
{
|
{
|
||||||
Thread.Sleep(LineDelay);
|
function.Run();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int count = 0; !stopRequest && count < function.Loop; count++)
|
||||||
|
{
|
||||||
|
function.Run();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,6 @@ You should have received a copy of the GNU General Public License
|
||||||
#endregion License Information (GPL v3)
|
#endregion License Information (GPL v3)
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
@ -43,6 +42,11 @@ public Function()
|
||||||
Loop = 1;
|
Loop = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual void Run()
|
||||||
|
{
|
||||||
|
Method();
|
||||||
|
}
|
||||||
|
|
||||||
public virtual void Prepare()
|
public virtual void Prepare()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -52,6 +56,19 @@ public virtual void Method()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class Function_Method : Function
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
base.Run();
|
||||||
|
|
||||||
|
if (FunctionManager.LineDelay > 0)
|
||||||
|
{
|
||||||
|
Thread.Sleep(FunctionManager.LineDelay);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public class Function_Call : Function
|
public class Function_Call : Function
|
||||||
{
|
{
|
||||||
public override void Prepare()
|
public override void Prepare()
|
||||||
|
@ -93,7 +110,7 @@ public override void Method()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Function_KeyDown : Function
|
public class Function_KeyDown : Function_Method
|
||||||
{
|
{
|
||||||
public override void Method()
|
public override void Method()
|
||||||
{
|
{
|
||||||
|
@ -102,7 +119,7 @@ public override void Method()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Function_KeyUp : Function
|
public class Function_KeyUp : Function_Method
|
||||||
{
|
{
|
||||||
public override void Method()
|
public override void Method()
|
||||||
{
|
{
|
||||||
|
@ -111,7 +128,7 @@ public override void Method()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Function_KeyPress : Function
|
public class Function_KeyPress : Function_Method
|
||||||
{
|
{
|
||||||
public override void Method()
|
public override void Method()
|
||||||
{
|
{
|
||||||
|
@ -120,7 +137,7 @@ public override void Method()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Function_KeyPressText : Function
|
public class Function_KeyPressText : Function_Method
|
||||||
{
|
{
|
||||||
public override void Method()
|
public override void Method()
|
||||||
{
|
{
|
||||||
|
@ -128,7 +145,7 @@ public override void Method()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Function_MouseDown : Function
|
public class Function_MouseDown : Function_Method
|
||||||
{
|
{
|
||||||
public override void Method()
|
public override void Method()
|
||||||
{
|
{
|
||||||
|
@ -137,7 +154,7 @@ public override void Method()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Function_MouseUp : Function
|
public class Function_MouseUp : Function_Method
|
||||||
{
|
{
|
||||||
public override void Method()
|
public override void Method()
|
||||||
{
|
{
|
||||||
|
@ -146,7 +163,7 @@ public override void Method()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Function_MouseClick : Function
|
public class Function_MouseClick : Function_Method
|
||||||
{
|
{
|
||||||
public override void Method()
|
public override void Method()
|
||||||
{
|
{
|
||||||
|
@ -170,7 +187,7 @@ public override void Method()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Function_MouseMove : Function
|
public class Function_MouseMove : Function_Method
|
||||||
{
|
{
|
||||||
public override void Method()
|
public override void Method()
|
||||||
{
|
{
|
||||||
|
@ -183,7 +200,7 @@ public override void Method()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Function_MouseWheel : Function
|
public class Function_MouseWheel : Function_Method
|
||||||
{
|
{
|
||||||
public override void Method()
|
public override void Method()
|
||||||
{
|
{
|
|
@ -83,7 +83,7 @@
|
||||||
<Compile Include="Automate\AutomateForm.Designer.cs">
|
<Compile Include="Automate\AutomateForm.Designer.cs">
|
||||||
<DependentUpon>AutomateForm.cs</DependentUpon>
|
<DependentUpon>AutomateForm.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Automate\Function.cs" />
|
<Compile Include="Automate\Functions.cs" />
|
||||||
<Compile Include="Automate\FunctionManager.cs" />
|
<Compile Include="Automate\FunctionManager.cs" />
|
||||||
<Compile Include="Automate\ScriptInfo.cs" />
|
<Compile Include="Automate\ScriptInfo.cs" />
|
||||||
<Compile Include="ClipboardFormat.cs" />
|
<Compile Include="ClipboardFormat.cs" />
|
||||||
|
|
Loading…
Reference in a new issue