/// <summary>
/// <para>Connects two Playables together.</para>
/// </summary>
/// <param name="source">Playable to be used as input.</param>
/// <param name="target">Playable on which the input will be connected.</param>
/// <param name="sourceOutputPort">Optional index of the output on the source Playable.</param>
/// <param name="targetInputPort">Optional index of the input on the target Playable.</param>
/// <returns>
/// <para>Returns false if the operation could not be completed.</para>
/// </returns>
public static bool Connect(Playable source, Playable target, int sourceOutputPort, int targetInputPort)
{
if (!Playable.CheckPlayableValidity(source, "source") && !Playable.CheckPlayableValidity(target, "target") || source != (Playable)null && !source.CheckInputBounds(sourceOutputPort, true) || !target.CheckInputBounds(targetInputPort, true))
{
return(false);
}
return(Playable.ConnectInternal(source, target, sourceOutputPort, targetInputPort));
}