UNPKG

@battle-racing/br-common-lib

Version:

Common library for all Battle Racing Repositorios

92 lines (79 loc) 4.33 kB
import type { ConfigDiskSensorBallShooterModuleOptions, ConfigureBallSensorDiskThrowerModuleOptions, FlagConfigurationOptions, FlagShowMediaOptions, PlaySoundOptions, RGBConfigurationOptions, RGBShowEffectOptions, ScreenCountdownParams, ScreenFinishViewInput, ScreenUpdateGameViewInput, SpeedChangeOptions, SpeedConfiguration, StarLaserConfigureModuleOptions, StarLaserSendActionsOptions, } from '../hardware'; import type { ArithmeticExpression } from '../utils'; export interface ChangeSpeedActionCommandOptions extends Omit<SpeedChangeOptions, 'speed'> { speed: number | ArithmeticExpression; } export type BallSensorDiskThrowerModuleCommands = | { module: 'ballSensorDiskThrower'; action: 'activateSensor'; params?: undefined } | { module: 'ballSensorDiskThrower'; action: 'deactivateSensor'; params?: undefined } | { module: 'ballSensorDiskThrower'; action: 'configureModule'; params: ConfigureBallSensorDiskThrowerModuleOptions; } | { module: 'ballSensorDiskThrower'; action: 'throwDisk'; params?: undefined } | { module: 'ballSensorDiskThrower'; action: 'activateDiskThrower'; params?: undefined } | { module: 'ballSensorDiskThrower'; action: 'deactivateDiskThrower'; params?: undefined }; export type DiskSensorBallShooterModuleCommands = | { module: 'diskSensorBallShooter'; action: 'configure'; params: ConfigDiskSensorBallShooterModuleOptions } | { module: 'diskSensorBallShooter'; action: 'prepareShooter'; params?: undefined } | { module: 'diskSensorBallShooter'; action: 'shootBall'; params?: undefined } | { module: 'diskSensorBallShooter'; action: 'activateSensor'; params?: undefined } | { module: 'diskSensorBallShooter'; action: 'deactivateSensor'; params?: undefined } | { module: 'diskSensorBallShooter'; action: 'calibrateSensor'; params?: undefined }; export type FlagModuleCommands = | { module: 'flag'; action: 'activate'; params?: undefined } | { module: 'flag'; action: 'deactivate'; params?: undefined } | { module: 'flag'; action: 'configure'; params: FlagConfigurationOptions } | { module: 'flag'; action: 'showMediaIndefinitely'; params: FlagShowMediaOptions } | { module: 'flag'; action: 'showMediaTemporarily'; params: FlagShowMediaOptions }; export type RGBModuleCommands = | { module: 'rgb'; action: 'configure'; params: RGBConfigurationOptions } | { module: 'rgb'; action: 'showEffect'; params: RGBShowEffectOptions }; export type SpeedModuleCommands = | { module: 'speed'; action: 'activate'; params?: undefined } | { module: 'speed'; action: 'deactivate'; params?: undefined } | { module: 'speed'; action: 'change'; params: ChangeSpeedActionCommandOptions } | { module: 'speed'; action: 'configure'; params: SpeedConfiguration }; export type LeftStarBackLaserModuleCommands = | { module: 'leftStarBackLaser'; action: 'action'; params: StarLaserSendActionsOptions } | { module: 'leftStarBackLaser'; action: 'configure'; params: StarLaserConfigureModuleOptions }; export type RightStarFrontLaserModuleCommands = | { module: 'rightStarFrontLaser'; action: 'action'; params: StarLaserSendActionsOptions } | { module: 'rightStarFrontLaser'; action: 'configure'; params: StarLaserConfigureModuleOptions }; export type ScreenModuleCommands = | { module: 'screen'; action: 'showHomeView'; params?: undefined } | { module: 'screen'; action: 'showCountdownView'; params: ScreenCountdownParams } | { module: 'screen'; action: 'updateGameView'; params: ScreenUpdateGameViewInput } | { module: 'screen'; action: 'showScreenVictoryView'; params: ScreenFinishViewInput } | { module: 'screen'; action: 'showScreenDefeatView'; params: ScreenFinishViewInput }; export type SteeringWheelModuleCommands = | { module: 'steeringWheel'; action: 'turnLedOn'; params?: undefined } | { module: 'steeringWheel'; action: 'turnLedOff'; params?: undefined }; export type SoundModuleCommands = { module: 'sound'; action: 'play'; params: PlaySoundOptions }; export type AllCommandsConfig = | BallSensorDiskThrowerModuleCommands | DiskSensorBallShooterModuleCommands | FlagModuleCommands | RGBModuleCommands | SpeedModuleCommands | LeftStarBackLaserModuleCommands | RightStarFrontLaserModuleCommands | ScreenModuleCommands | SteeringWheelModuleCommands | SoundModuleCommands;