[commands] C++: Add CommandPtr overload for SetDefaultCommand (#4488)

This commit is contained in:
Starlight220
2022-10-21 16:35:58 +03:00
committed by GitHub
parent 0ca274866b
commit 9c7e66a27d
4 changed files with 46 additions and 0 deletions

View File

@@ -191,6 +191,19 @@ class CommandScheduler final : public nt::NTSendable,
std::forward<T>(defaultCommand)));
}
/**
* Sets the default command for a subsystem. Registers that subsystem if it
* is not already registered. Default commands will run whenever there is no
* other command currently scheduled that requires the subsystem. Default
* commands should be written to never end (i.e. their IsFinished() method
* should return false), as they would simply be re-scheduled if they do.
* Default commands must also require their subsystem.
*
* @param subsystem the subsystem whose default command will be set
* @param defaultCommand the default command to associate with the subsystem
*/
void SetDefaultCommand(Subsystem* subsystem, CommandPtr&& defaultCommand);
/**
* Gets the default command associated with this subsystem. Null if this
* subsystem has no default command associated with it.