// Copyright Epic Games, Inc. All Rights Reserved. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AutomationTool { /// /// Defines a label within a graph. Labels are similar to badges, and give the combined status of one or more job steps. Unlike badges, they /// separate the requirements for its status and optional nodes to be included in its status, allowing this to be handled externally. /// class Label { /// /// Category for this label /// public readonly string Category; /// /// Name of this badge /// public readonly string Name; /// /// Set of nodes that must be run for this label to be shown. /// public HashSet RequiredNodes = new HashSet(); /// /// Set of nodes that will be included in this label if present. /// public HashSet IncludedNodes = new HashSet(); /// /// Constructor /// /// Name of this label /// Type of this label public Label(string InName, string InCategory) { Name = InName; Category = InCategory; } /// /// Get the name of this label /// /// The name of this label public override string ToString() { return String.Format("{0}/{1}", Category, Name); } } }