@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
28 lines (27 loc) • 1.43 kB
TypeScript
import type { BallSensorDiskThrowerModuleCommands, DiskSensorBallShooterModuleCommands, FlagModuleCommands, LeftStarBackLaserModuleCommands, RGBModuleCommands, RightStarFrontLaserModuleCommands, SoundModuleCommands, SpeedModuleCommands, SteeringWheelModuleCommands } from '../command';
import type { Damage } from '../damage';
import type { PowerUpName } from './PowerUpName';
import type { PowerUpShield } from './PowerUpShield';
export type PowerUpLevel = 1 | 2 | 3 | 4 | 5;
/**
* The Power-up command exclude the ScreenModuleCommands because
* the system needs to know to know in which kind of game is the kart.
*/
export type PowerUpCommand = BallSensorDiskThrowerModuleCommands | DiskSensorBallShooterModuleCommands | FlagModuleCommands | RGBModuleCommands | SpeedModuleCommands | LeftStarBackLaserModuleCommands | RightStarFrontLaserModuleCommands | SteeringWheelModuleCommands | SoundModuleCommands;
export interface PowerUp {
id: string;
name: PowerUpName;
imageName: string;
description: string;
level: PowerUpLevel;
/** Commands to be executed when the power-up is assigned */
assignationCommands: PowerUpCommand[];
/** Whenever the user activates the assigned power-up */
activationCommands: PowerUpCommand[];
shield?: PowerUpShield;
/**
* Represents damage that needs the backend to be propagated
* to other(s) kart(s)
*/
networkDamage?: Damage;
}