docs.unity3d.com
    Show / Hide Table of Contents

    Class Cooldown

    Runs a cooldown timer to throttle flow and outputs remaining measurements.

    Inheritance
    Object
    GraphElement<FlowGraph>
    Unit<FlowGraph>
    Unit
    EventUnit
    Cooldown
    Inherited Members
    EventUnit.requiresInstantiation
    EventUnit.IGraphElementWithData.CreateData()
    EventUnit.Instantiate(GraphReference)
    EventUnit.Uninstantiate(GraphReference)
    EventUnit.IsActive(GraphPointer)
    EventUnit.IsListening(GraphPointer)
    EventUnit.Activate(GraphReference)
    EventUnit.Deactivate(GraphReference)
    EventUnit.StartListening(GraphReference)
    EventUnit.StopListening(GraphReference)
    EventUnit.OnActivated(GraphReference)
    EventUnit.OnDeactivating(GraphReference)
    EventUnit.OnDeactivated(GraphReference)
    Unit<FlowGraph>.IUnit.parentGraph
    Unit<FlowGraph>.CreateDebugData()
    Unit<FlowGraph>.AfterAdd(FlowGraph)
    Unit<FlowGraph>.BeforeRemove(FlowGraph)
    Unit<FlowGraph>.Dispose()
    Unit<FlowGraph>.canDefine
    Unit<FlowGraph>.failedToDefine
    Unit<FlowGraph>.isDefined
    Unit<FlowGraph>.AfterDefine()
    Unit<FlowGraph>.BeforeUndefine()
    Unit<FlowGraph>.EnsureDefined()
    Unit<FlowGraph>.Define()
    Unit<FlowGraph>.RemoveUnconnectedInvalidPorts()
    Unit<FlowGraph>.OnGraphStructureChanged()
    Unit<FlowGraph>.controlInputs
    Unit<FlowGraph>.controlOutputs
    Unit<FlowGraph>.valueInputs
    Unit<FlowGraph>.valueOutputs
    Unit<FlowGraph>.invalidInputs
    Unit<FlowGraph>.invalidOutputs
    Unit<FlowGraph>.inputs
    Unit<FlowGraph>.outputs
    Unit<FlowGraph>.validInputs
    Unit<FlowGraph>.validOutputs
    Unit<FlowGraph>.ports
    Unit<FlowGraph>.invalidPorts
    Unit<FlowGraph>.validPorts
    Unit<FlowGraph>.controlInputsData
    Unit<FlowGraph>.controlOutputsData
    Unit<FlowGraph>.valueInputsData
    Unit<FlowGraph>.valueOutputsData
    Unit<FlowGraph>.IUnit.controlInputsData
    Unit<FlowGraph>.IUnit.controlOutputsData
    Unit<FlowGraph>.IUnit.valueInputsData
    Unit<FlowGraph>.IUnit.valueOutputsData
    Unit<FlowGraph>.relations
    Unit<FlowGraph>.connections
    Unit<FlowGraph>.Disconnect()
    Unit<FlowGraph>.ControlInput(String, Func<Flow, ControlOutput>)
    Unit<FlowGraph>.ControlInputCoroutine(String, Func<Flow, IEnumerator>)
    Unit<FlowGraph>.ControlInputCoroutine(String, Func<Flow, ControlOutput>, Func<Flow, IEnumerator>)
    Unit<FlowGraph>.ControlInput(ControlInputDefinition, Func<Flow, ControlOutput>, Func<Flow, IEnumerator>)
    Unit<FlowGraph>.ControlOutput(String)
    Unit<FlowGraph>.ControlOutput(ControlOutputDefinition)
    Unit<FlowGraph>.ValueInput(HybridType, String)
    Unit<FlowGraph>.ValueInput<T>(String)
    Unit<FlowGraph>.ValueInput<T>(String, T)
    Unit<FlowGraph>.ValueInput(ValueInputDefinition)
    Unit<FlowGraph>.ValueOutput(HybridType, String)
    Unit<FlowGraph>.ValueOutput(HybridType, String, Func<Flow, Object>)
    Unit<FlowGraph>.ValueOutput<T>(String)
    Unit<FlowGraph>.ValueOutput<T>(String, Func<Flow, T>)
    Unit<FlowGraph>.ValueOutput(ValueOutputDefinition)
    Unit<FlowGraph>.ValueOutput(ValueOutputDefinition, Func<Flow, Object>)
    Unit<FlowGraph>.Requirement(ValueInput, ControlInput)
    Unit<FlowGraph>.Requirement(ValueInput, ValueOutput)
    Unit<FlowGraph>.Assignment(ValueOutput, ValueOutput)
    Unit<FlowGraph>.Assignment(ControlInput, ValueOutput)
    Unit<FlowGraph>.Succession(ControlInput, ControlOutput)
    Unit<FlowGraph>.Succession(ControlOutput, ControlOutput)
    Unit<FlowGraph>.Delegation(ValueOutput, ControlOutput)
    Unit<FlowGraph>.position
    Unit<FlowGraph>.definitionException
    Unit<FlowGraph>.OnBeforeSerialize()
    Unit<FlowGraph>.OnAfterDeserialize()
    GraphElement<FlowGraph>.guid
    GraphElement<FlowGraph>.modules
    GraphElement<FlowGraph>.IGraphChild.associatedElement
    GraphElement<FlowGraph>.INotifiedCollectionChild<IGraph>.BeforeAdd(IGraph)
    GraphElement<FlowGraph>.INotifiedCollectionChild<IGraph>.AfterAdd(IGraph)
    GraphElement<FlowGraph>.INotifiedCollectionChild<IGraph>.BeforeRemove(IGraph)
    GraphElement<FlowGraph>.INotifiedCollectionChild<IGraph>.AfterRemove(IGraph)
    GraphElement<FlowGraph>.BeforeAdd(FlowGraph)
    GraphElement<FlowGraph>.AfterRemove(FlowGraph)
    GraphElement<FlowGraph>.dependencyOrder
    GraphElement<FlowGraph>.HandleDependencies()
    GraphElement<FlowGraph>.parentGraph
    GraphElement<FlowGraph>.ICollectionChild<IGraph>.parent
    GraphElement<FlowGraph>.IGraphChild.parentGraph
    GraphElement<FlowGraph>.deserializationDependencies
    GraphElement<FlowGraph>.Prewarm()
    GraphElement<FlowGraph>.IsDisposed
    GraphElement<FlowGraph>.ToString()
    GraphElement<FlowGraph>.PropertyChanged
    GraphElement<FlowGraph>.OnPropertyChanged(Object, PropertyChangedEventArgs)
    GraphElement<FlowGraph>.OnPropertyChanged(String)
    Namespace: Ludiq.Bolt
    Syntax
    [UnitCategory("Time", 22)]
    [TypeIcon(typeof(Timer))]
    public sealed class Cooldown : EventUnit, ISerializationCallbackReceiver, IEventUnit, IBehaviourUnit, IUnit, IGraphElementWithDebugData, IBehaviourGraphElement, IGraphElementWithData, IGraphElement, IGraphChild, IObservableDisposable, IDisposable, INotifiedCollectionChild<IGraph>, ICollectionChild<IGraph>, IPrewarmable, IIdentifiable, INotifyPropertyChanged

    Properties

    becameReady

    Called when the cooldown timer reaches zero.

    Declaration
    [DoNotSerialize]
    [UnitPortDisplay("Completed")]
    public ControlOutput becameReady { get; }
    Property Value
    Type Description
    ControlOutput

    duration

    The total duration of the cooldown.

    Declaration
    [DoNotSerialize]
    public ValueInput duration { get; }
    Property Value
    Type Description
    ValueInput

    enter

    The moment at which to try using the cooldown.

    Declaration
    [DoNotSerialize]
    [UnitPortDisplay(showLabel = false)]
    public ControlInput enter { get; }
    Property Value
    Type Description
    ControlInput

    exitNotReady

    Called upon entry when the cooldown is not yet ready.

    Declaration
    [DoNotSerialize]
    [UnitPortDisplay("Not Ready", verticalOrder = 1)]
    public ControlOutput exitNotReady { get; }
    Property Value
    Type Description
    ControlOutput

    exitReady

    Called upon entry when the cooldown is ready.

    Declaration
    [DoNotSerialize]
    [UnitPortDisplay("Ready", verticalOrder = 2)]
    public ControlOutput exitReady { get; }
    Property Value
    Type Description
    ControlOutput

    remainingRatio

    The proportion of the duration remaining until the cooldown is ready (0-1).

    Declaration
    [DoNotSerialize]
    [UnitPortDisplay("Remaining %")]
    public ValueOutput remainingRatio { get; }
    Property Value
    Type Description
    ValueOutput

    remainingSeconds

    The number of seconds remaining until the cooldown is ready.

    Declaration
    [DoNotSerialize]
    [UnitPortDisplay("Remaining")]
    public ValueOutput remainingSeconds { get; }
    Property Value
    Type Description
    ValueOutput

    reset

    Trigger to force reset the cooldown.

    Declaration
    [DoNotSerialize]
    public ControlInput reset { get; }
    Property Value
    Type Description
    ControlInput

    tick

    Called each frame while the cooldown timer is active.

    Declaration
    [DoNotSerialize]
    public ControlOutput tick { get; }
    Property Value
    Type Description
    ControlOutput

    unscaledTime

    Whether to ignore the time scale.

    Declaration
    [DoNotSerialize]
    [UnitPortDisplay("Unscaled")]
    public ValueInput unscaledTime { get; }
    Property Value
    Type Description
    ValueInput

    Methods

    CreateData()

    Declaration
    protected override IEventUnitData CreateData()
    Returns
    Type Description
    IEventUnitData
    Overrides
    EventUnit.CreateData()

    Definition()

    Declaration
    protected override void Definition()
    Overrides
    Ludiq.Bolt.Unit<Ludiq.Bolt.FlowGraph>.Definition()

    OnActivating(GraphReference)

    Declaration
    protected override void OnActivating(GraphReference instance)
    Parameters
    Type Name Description
    GraphReference instance
    Overrides
    EventUnit.OnActivating(GraphReference)

    OnStartListening(GraphReference)

    Declaration
    protected override void OnStartListening(GraphReference instance)
    Parameters
    Type Name Description
    GraphReference instance
    Overrides
    EventUnit.OnStartListening(GraphReference)

    OnStopListening(GraphReference)

    Declaration
    protected override void OnStopListening(GraphReference instance)
    Parameters
    Type Name Description
    GraphReference instance
    Overrides
    EventUnit.OnStopListening(GraphReference)

    Update(Flow)

    Declaration
    public void Update(Flow flow)
    Parameters
    Type Name Description
    Flow flow

    Extension Methods

    XDescriptorProvider.Descriptor(Object)
    XDescriptorProvider.Descriptor<TDescriptor>(Object)
    LiteralUtility.ToLiteralString(Object)
    LiteralUtility.ToLiteralStringOrDefault(Object)
    LiteralUtility.TryToLiteralString(Object, out String)
    Cloning.Clone(Object, ICloner, Boolean)
    Cloning.Clone(Object, ICloner, Boolean, out Dictionary<Object, Object>)
    Cloning.Clone<T>(T, ICloner, Boolean)
    Cloning.Clone<T>(T, ICloner, Boolean, out Dictionary<Object, Object>)
    Cloning.CloneViaSerializationPolicy(Object)
    Cloning.CloneViaSerializationPolicy(Object, out Dictionary<Object, Object>)
    Cloning.CloneViaSerializationPolicy<T>(T)
    Cloning.CloneViaSerializationPolicy<T>(T, out Dictionary<Object, Object>)
    Cloning.CloneInto(Object, ref Object, ICloner, Boolean)
    Cloning.CloneInto(Object, ref Object, ICloner, Boolean, out Dictionary<Object, Object>)
    Cloning.CloneInto<T>(T, ref Object, ICloner, Boolean)
    Cloning.CloneInto<T>(T, ref Object, ICloner, Boolean, out Dictionary<Object, Object>)
    Cloning.CloneIntoViaSerializationPolicy(Object, ref Object)
    Cloning.CloneIntoViaSerializationPolicy(Object, ref Object, out Dictionary<Object, Object>)
    Cloning.CloneIntoViaSerializationPolicy<T>(T, ref Object)
    Cloning.CloneIntoViaSerializationPolicy<T>(T, ref Object, out Dictionary<Object, Object>)
    Cloning.CloneValueType(Object)
    ConversionUtility.ConvertTo<TSource>(TSource, Type)
    ConversionUtility.IsLateConvertibleTo(Object, Type, Boolean)
    ConversionUtility.IsLateConvertibleTo<T>(Object, Boolean)
    ConversionUtility.LateConvertTo(Object, Type)
    ConversionUtility.LateConvertTo<T>(Object)
    ConversionUtility.TryLateConvertTo(Object, Type, out Object, Boolean)
    ConversionUtility.TryLateConvertTo<T>(Object, out T, Boolean)
    TypeUtility.ToShortString(Object, Int32)
    TypeUtility.CastTo<T>(Object)
    Serialization.FullSerialize(Object, Boolean)
    Serialization.OdinSerialize<T>(T, DataFormat)
    Serialization.OdinSerialize<T>(T, ref SerializationData, DataFormat)
    XObservableDisposable.EnsureNotDisposed(IObservableDisposable)
    LinqUtility.Yield<T>(T)
    UnityObjectUtility.IsUnityNull(Object)
    UnityObjectUtility.UnityNullCoalesce(Object, Object)
    UnityObjectUtility.ToSafeString(Object)
    XFilterProvider.Filter(Object)
    XFilterProvider.Filter<TFilter>(Object)
    BoltGenerationUtility.GenerateLiteral(Object, IGeneration)
    XGeneratorProvider.Generator(Object, IGeneration)
    XGeneratorProvider.Generator<TGenerator>(Object, IGeneration)
    XGeneratorProvider.HasGenerator(Object, IGeneration)
    XGeneratorProvider.HasGenerator<TGenerator>(Object, IGeneration)
    XGeneratorProvider.TryGetGenerator(Object, out IGenerator, IGeneration)
    XGeneratorProvider.TryGetGenerator<TGenerator>(Object, IGeneration, out TGenerator)
    XUnitOptionProvider.Option(IUnit)
    XUnitOptionProvider.Option<TOption>(IUnit)
    HybridConversionUtility.ConvertTo(Object, HybridType, HybridType)
    HybridConversionUtility.IsLateConvertibleTo(Object, HybridType, Boolean)
    HybridConversionUtility.LateConvertTo(Object, HybridType)
    HybridConversionUtility.TryLateConvertTo(Object, HybridType, out Object, Boolean)
    HybridTypeUtility.GetHybridType(Object)
    IsUtility.Is<TO, TC>(TO, out TC)
    GraphsExceptionUtility.GetException(IGraphElementWithDebugData, GraphPointer)
    GraphsExceptionUtility.SetException(IGraphElementWithDebugData, GraphPointer, Exception)
    GraphsExceptionUtility.ClearExceptionInHierarchy(IGraphElementWithDebugData, GraphPointer)
    GraphsExceptionUtility.HandleException(IGraphElementWithDebugData, GraphPointer, Exception)
    XUnit.CompatibleValueInput(IUnit, HybridType)
    XUnit.CompatibleValueOutput(IUnit, HybridType)
    UnitDefinitionUtility.DefineControlInput(IUnit, String, Func<Flow, ControlOutput>)
    UnitDefinitionUtility.DefineControlInputCoroutine(IUnit, String, Func<Flow, IEnumerator>)
    UnitDefinitionUtility.DefineControlInputCoroutine(IUnit, String, Func<Flow, ControlOutput>, Func<Flow, IEnumerator>)
    UnitDefinitionUtility.DefineControlInput(IUnit, ControlInputDefinition, Func<Flow, ControlOutput>, Func<Flow, IEnumerator>)
    UnitDefinitionUtility.DefineControlOutput(IUnit, String)
    UnitDefinitionUtility.DefineControlOutput(IUnit, ControlOutputDefinition)
    UnitDefinitionUtility.DefineValueInput(IUnit, HybridType, String)
    UnitDefinitionUtility.DefineValueInput<T>(IUnit, String)
    UnitDefinitionUtility.DefineValueInput<T>(IUnit, String, T)
    UnitDefinitionUtility.DefineValueInput(IUnit, ValueInputDefinition)
    UnitDefinitionUtility.DefineValueOutput(IUnit, HybridType, String)
    UnitDefinitionUtility.DefineValueOutput(IUnit, HybridType, String, Func<Flow, Object>)
    UnitDefinitionUtility.DefineValueOutput<T>(IUnit, String)
    UnitDefinitionUtility.DefineValueOutput<T>(IUnit, String, Func<Flow, T>)
    UnitDefinitionUtility.DefineValueOutput(IUnit, ValueOutputDefinition)
    UnitDefinitionUtility.DefineValueOutput(IUnit, ValueOutputDefinition, Func<Flow, Object>)
    UnitDefinitionUtility.DefineRequirement(IUnit, ValueInput, ControlInput)
    UnitDefinitionUtility.DefineRequirement(IUnit, ValueInput, ValueOutput)
    UnitDefinitionUtility.DefineAssignment(IUnit, ValueOutput, ValueOutput)
    UnitDefinitionUtility.DefineAssignment(IUnit, ControlInput, ValueOutput)
    UnitDefinitionUtility.DefineSuccession(IUnit, ControlInput, ControlOutput)
    UnitDefinitionUtility.DefineSuccession(IUnit, ControlOutput, ControlOutput)
    UnitDefinitionUtility.DefineDelegation(IUnit, ValueOutput, ControlOutput)
    PrivateReflectionUsingDynamicExtensions.AsDynamic(Object)
    JsonWriter.ToJson(Object)
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023