ParallelRaceGroup
- class commands2.ParallelRaceGroup(*args, **kwargs)[source]
Bases:
Command
A composition that runs a set of commands in parallel, ending when any one of the commands ends and interrupting all the others.
The rules for command compositions apply: command instances that are passed to it cannot be added to any other composition or scheduled individually, and the composition requires all subsystems its components require.
Creates a new ParallelCommandRace. The given commands will be executed simultaneously, and will “race to the finish” - the first command to finish ends the entire command, with all other commands being interrupted.
- Parameters:
commands – the commands to include in this composition.
- addCommands(*commands: Command)[source]
Adds the given commands to the group.
- Parameters:
commands – Commands to add to the group.
- end(interrupted: bool)[source]
The action to take when the command ends. Called when either the command finishes normally, or when it interrupted/canceled.
Do not schedule commands here that share requirements with this command. Use
andThen()
instead.- Parameters:
interrupted – whether the command was interrupted/canceled
- getInterruptionBehavior() InterruptionBehavior [source]
How the command behaves when another command with a shared requirement is scheduled.
- Returns:
a variant of InterruptionBehavior, defaulting to {@link InterruptionBehavior#kCancelSelf kCancelSelf}.
- initialize()[source]
The initial subroutine of a command. Called once when the command is initially scheduled.
- isFinished() bool [source]
Whether the command has finished. Once a command finishes, the scheduler will call its
commands2.Command.end()
method and un-schedule it.- Returns:
whether the command has finished.