@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
39 lines (38 loc) • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.gameTrackSchema = exports.gameTrackKartConfigSchema = exports.gameTrackKartsConfigSchema = exports.gameTrackGameDefaultValuesSchema = void 0;
const zod_1 = require("zod");
const checkpoint_1 = require("../checkpoint");
const color_1 = require("../color");
const game_1 = require("../game");
const hardware_1 = require("../hardware");
exports.gameTrackGameDefaultValuesSchema = zod_1.z.object({
speed: zod_1.z.array(zod_1.z.number()),
powerUpIds: zod_1.z.array(zod_1.z.string()),
});
exports.gameTrackKartsConfigSchema = zod_1.z.object({
defaultSpeed: zod_1.z.number().min(0).max(100),
powerUpTime: zod_1.z.number().min(1).max(25),
rgbBrightness: zod_1.z.number().min(0).max(100),
flagBrightness: zod_1.z.number().min(0).max(100),
diskSensorBallShooter: hardware_1.configDiskSensorBallShooterModuleOptionsSchema,
ballSensorDiskThrower: hardware_1.configureBallSensorDiskThrowerModuleOptionsSchema,
lowSpeed: zod_1.z.number().min(0).max(100),
});
exports.gameTrackKartConfigSchema = zod_1.z.object({
gameTrackId: zod_1.z.string(),
kartId: zod_1.z.number(),
color: color_1.colorNameSchema,
kartNumber: zod_1.z.number(),
mac: zod_1.z.string(),
});
exports.gameTrackSchema = zod_1.z.object({
id: zod_1.z.string(),
name: zod_1.z.string(),
type: game_1.gameTypeSchema,
checkpoints: zod_1.z.array(checkpoint_1.checkpointSchema),
kartsConfig: exports.gameTrackKartsConfigSchema,
macAddress: zod_1.z.string().optional(),
isConnected: zod_1.z.boolean(),
gameDefaultValues: exports.gameTrackGameDefaultValuesSchema.optional(),
});