import type {
  ConfigDiskSensorBallShooterModuleOptions,
  ConfigureBallSensorDiskThrowerModuleOptions,
} from '../hardware';

/**
 * Global Karts Config are provided from the Game Track.
 * Letting the specific Kart values like times, Ids, or other specific values to be set during the game.
 *
 * powerUpTime: Will be the time configuration of each Module.
 */
export interface GameTrackKartsConfig {
  /** Percentage (0% - 100%) */
  defaultSpeed: number;
  /** Time in seconds: (1s - 25s) */
  powerUpTime: number;
  /** % Of Brightness (0 - 100) */
  rgbBrightness: number;
  /** % Of Brightness (0 - 100) */
  flagBrightness: number;
  /** Full Configuration of the Disk Sensor Ball Shooter */
  diskSensorBallShooter: ConfigDiskSensorBallShooterModuleOptions;
  /** Full Configuration of the Ball Sensor Disk Thrower */
  ballSensorDiskThrower: ConfigureBallSensorDiskThrowerModuleOptions;
  /** Low Speed (0 - 100) */
  lowSpeed: number;
}
