@startuml class DOTweenModuleUnityVersion <> { + {static} DOGradientColor(target:Material, gradient:Gradient, duration:float) : Sequence + {static} DOGradientColor(target:Material, gradient:Gradient, property:string, duration:float) : Sequence + {static} WaitForCompletion(t:Tween, returnCustomYieldInstruction:bool) : CustomYieldInstruction + {static} WaitForRewind(t:Tween, returnCustomYieldInstruction:bool) : CustomYieldInstruction + {static} WaitForKill(t:Tween, returnCustomYieldInstruction:bool) : CustomYieldInstruction + {static} WaitForElapsedLoops(t:Tween, elapsedLoops:int, returnCustomYieldInstruction:bool) : CustomYieldInstruction + {static} WaitForPosition(t:Tween, position:float, returnCustomYieldInstruction:bool) : CustomYieldInstruction + {static} WaitForStart(t:Tween, returnCustomYieldInstruction:bool) : CustomYieldInstruction } class DOTweenCYInstruction <> { } class WaitForCompletion { + <> keepWaiting : bool <> + WaitForCompletion(tween:Tween) } class WaitForRewind { + <> keepWaiting : bool <> + WaitForRewind(tween:Tween) } class WaitForKill { + <> keepWaiting : bool <> + WaitForKill(tween:Tween) } class WaitForElapsedLoops { + <> keepWaiting : bool <> + WaitForElapsedLoops(tween:Tween, elapsedLoops:int) } class WaitForPosition { + <> keepWaiting : bool <> + WaitForPosition(tween:Tween, position:float) } class WaitForStart { + <> keepWaiting : bool <> + WaitForStart(tween:Tween) } DOTweenCYInstruction +-- WaitForCompletion CustomYieldInstruction <|-- WaitForCompletion DOTweenCYInstruction +-- WaitForRewind CustomYieldInstruction <|-- WaitForRewind DOTweenCYInstruction +-- WaitForKill CustomYieldInstruction <|-- WaitForKill DOTweenCYInstruction +-- WaitForElapsedLoops CustomYieldInstruction <|-- WaitForElapsedLoops DOTweenCYInstruction +-- WaitForPosition CustomYieldInstruction <|-- WaitForPosition DOTweenCYInstruction +-- WaitForStart CustomYieldInstruction <|-- WaitForStart @enduml