// 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);
}
}
}