BaseTypedComponent05 / 15

Проверка настроек компонента

Проверим масштаб и длительность анимации счётчика.

Укажем в configDecoder, какие значения допустимы в data из JSON. В примере масштаб должен быть не меньше 1, а длительность не меньше 0. SDK проверит настройки до onInit. BlockPuzzleScoreComponent.ts

const ConfigDecoder = SchemaDecoder.object({
  popScale: SchemaDecoder.number({ min: 1 }),
  popDuration: SchemaDecoder.number({ min: 0 }),
});

type BlockPuzzleScoreConfig = InferDecoded<typeof ConfigDecoder>;

export class BlockPuzzleScoreComponent extends BaseTypedComponent<
  BlockPuzzleScoreConfig,
  Text
> {
  protected override readonly configDecoder = ConfigDecoder;
}
dataНастройки в JSON
configDecoderПроверяет числа
this.configКомпонент получает настройки

Источники ↗

Block Puzzle · BlockPuzzleScoreComponent.ts↗Реальный typed-компонент игры.