using System; using UnityEngine.UI; namespace Unity.VisualScripting { /// /// Called when the current value of the scrollbar has changed. /// [UnitCategory("Events/GUI")] [TypeIcon(typeof(Scrollbar))] [UnitOrder(6)] public sealed class OnScrollbarValueChanged : GameObjectEventUnit { public override Type MessageListenerType => typeof(UnityOnScrollbarValueChangedMessageListener); protected override string hookName => EventHooks.OnScrollbarValueChanged; /// /// The new position value of the scrollbar. /// [DoNotSerialize] [PortLabelHidden] public ValueOutput value { get; private set; } protected override void Definition() { base.Definition(); value = ValueOutput(nameof(value)); } protected override void AssignArguments(Flow flow, float value) { flow.SetValue(this.value, value); } } }