step-sequence-generator
Version:
A step sequence generator for figure skating programs
36 lines (35 loc) • 2 kB
TypeScript
import { MovementLibrary } from '../movement/MovementLibrary';
import { StepContext } from './StepContext';
import { StepCounter } from '../step-counter/StepCounter';
import { StepTracker } from '../sequence-tracker/StepTracker';
import { Movement } from '../movement/Movement';
import { GeneratorType } from '../../shared/enums/generator-type.enum';
import { DefaultStepSequenceGenerator } from './DefaultStepSequenceGenerator';
import { ThreeTurnsBlockGenerator } from './ThreeTurnsBlockGenerator';
import { ThreeDifficultTurnsBlockCounter } from '../step-counter/ThreeDifficultTurnsBlockCounter';
import { CompassArc } from '../sequence-tracker/CompassArc';
import { Roulette } from '../roulette/Roulette';
import { MovementChanceRatioMapGenerator } from '../chance-ratio-map-generator/MovementChanceRatioMapGenerator';
export declare class SequenceGeneratorFactory {
private static generator;
static create(type: GeneratorType, data: Movement[]): ThreeTurnsBlockGenerator | DefaultStepSequenceGenerator;
static createDefaultGenerator(data: Movement[]): DefaultStepSequenceGenerator;
private static createThreeTurnsBlockGenerator;
protected static createBaseConfig(data: Movement[]): {
library: MovementLibrary;
context: StepContext<import("../../shared/types/extended-movement/movement-extended.interface").IMovementExtended>;
chanceRatioMapGenerator: MovementChanceRatioMapGenerator;
roulette: Roulette;
tracker: StepTracker;
compassArc: CompassArc;
};
protected static createDefaultConfig(): {
counter: StepCounter;
filterStrategy: import("../../shared/types/map-composite-filters.type").MapMovementCompositeFilterType;
};
protected static createThreeTurnsBlockConfig(): {
counter: ThreeDifficultTurnsBlockCounter;
filterStrategy: import("../../shared/types/map-composite-filters.type").MapMovementCompositeFilterType;
};
protected createMapCompositeFilters(): void;
}