using System.Collections; namespace Unity.VisualScripting { /// /// Checks whether a list contains the specified item. /// [UnitCategory("Collections/Lists")] [UnitSurtitle("List")] [UnitShortTitle("Contains Item")] [TypeIcon(typeof(IList))] public sealed class ListContainsItem : Unit { /// /// The list. /// [DoNotSerialize] [PortLabelHidden] public ValueInput list { get; private set; } /// /// The item. /// [DoNotSerialize] [PortLabelHidden] public ValueInput item { get; private set; } /// /// Whether the list contains the item. /// [DoNotSerialize] [PortLabelHidden] public ValueOutput contains { get; private set; } protected override void Definition() { list = ValueInput(nameof(list)); item = ValueInput(nameof(item)); contains = ValueOutput(nameof(contains), Contains); Requirement(list, contains); Requirement(item, contains); } public bool Contains(Flow flow) { var list = flow.GetValue(this.list); var item = flow.GetValue(this.item); return list.Contains(item); } } }