4 using System.Collections;
5 using System.Collections.Generic;
6 using System.ComponentModel;
9 namespace SiliconStudio.BuildEngine
11 [Description(
"Step list")]
14 private readonly List<BuildStep> children;
19 children = (List<BuildStep>)Steps;
25 children = (List<BuildStep>)Steps;
36 return "Build step list (" + Count +
" items)";
42 get {
return children.Count; }
46 IEnumerator IEnumerable.GetEnumerator()
48 return GetEnumerator();
54 return children.GetEnumerator();
60 Add(commandBuildStep);
61 return commandBuildStep;
66 var commandBuildSteps = commands.Select(x =>
new CommandBuildStep(x) ).ToArray();
67 foreach (var commandBuildStep
in commandBuildSteps)
69 Add(commandBuildStep);
71 return commandBuildSteps;
78 throw new InvalidOperationException(
"Unable to add a build step to an already processed ListBuildStep.");
80 buildStep.Parent =
this;
81 children.Add(buildStep);
93 return children.Contains(item);
99 children.CopyTo(array, arrayIndex);
106 return children.Remove(item);
112 return children.IndexOf(item);
119 children.Insert(index, item);
125 children[index].Parent = null;
126 children.RemoveAt(index);
132 get {
return children[index]; }
133 set { children[index] = value; value.Parent =
this; }
IEnumerable< CommandBuildStep > Add(IEnumerable< Command > commands)
A BuildStep that can spawn multiple BuildStep. Input and output tracking and merging will be performe...
bool Remove(BuildStep item)
void Add(BuildStep buildStep)
int IndexOf(BuildStep item)
void CopyTo(BuildStep[] array, int arrayIndex)
ResultStatus
Status of a command.
void Insert(int index, BuildStep item)
bool Contains(BuildStep item)
override BuildStep Clone()
Clone this Build Step.
override string ToString()
CommandBuildStep Add(Command command)
ListBuildStep(IEnumerable< BuildStep > steps)
IEnumerator< BuildStep > GetEnumerator()