Init
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace QFSW.QC.Actions
|
||||
{
|
||||
/// <summary>
|
||||
/// Combines a sequence of actions into a single action.
|
||||
/// </summary>
|
||||
public class Composite : ICommandAction
|
||||
{
|
||||
private ActionContext _context;
|
||||
private readonly IEnumerator<ICommandAction> _actions;
|
||||
|
||||
public bool IsFinished => _actions.Execute(_context) == ActionState.Complete;
|
||||
public bool StartsIdle => false;
|
||||
|
||||
/// <param name="actions">The sequence of actions to create the composite from.</param>
|
||||
public Composite(IEnumerator<ICommandAction> actions)
|
||||
{
|
||||
_actions = actions;
|
||||
}
|
||||
|
||||
/// <param name="actions">The sequence of actions to create the composite from.</param>
|
||||
public Composite(IEnumerable<ICommandAction> actions) : this(actions.GetEnumerator())
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void Start(ActionContext context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
public void Finalize(ActionContext context) { }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user