mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-02 15:50:51 +08:00
block
This commit is contained in:
@@ -467,45 +467,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
items.ForEach(p => p.ExecutStatus = 0);
|
||||
}
|
||||
|
||||
public async Task Execute()
|
||||
{
|
||||
await StopExecution(0);
|
||||
await BeforeExecution();
|
||||
if (await Executing())
|
||||
{
|
||||
await AfterExecution();
|
||||
}
|
||||
else
|
||||
{
|
||||
ExecutStatus = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual Task BeforeExecution()
|
||||
{
|
||||
ExecutStatus = 1;
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public virtual Task<bool> Executing()
|
||||
{
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
public virtual Task StopExecution(int status)
|
||||
public virtual Task Execute()
|
||||
{
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public virtual async Task AfterExecution()
|
||||
{
|
||||
if (ExecutStatus == 1)
|
||||
{
|
||||
ExecutStatus = 0;
|
||||
if (LinkNode.Next != null)
|
||||
await LinkNode.Next.Value.Execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public virtual object GetResult()
|
||||
{
|
||||
@@ -637,4 +602,15 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
[FlagsAttribute]
|
||||
public enum ExecutStatus
|
||||
{
|
||||
Stop,
|
||||
Run,
|
||||
PauseCommand,
|
||||
ContinueCommand,
|
||||
StopCommand,
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user