step-sequence-generator
Version:
A step sequence generator for figure skating programs
31 lines (30 loc) • 1.72 kB
TypeScript
import { AbstractSequenceGenerator } from './AbstractSequenceGenerator';
import { MovementLibrary } from '../movement/MovementLibrary';
import { StepContext } from './StepContext';
import { IMovementExtended } from '../../shared/types/extended-movement/movement-extended.interface';
import { StepTracker } from '../sequence-tracker/StepTracker';
import { StepCounter } from '../step-counter/StepCounter';
import { DifficultLevelAmountStep } from '../../shared/enums/difficult-level-amount-step.enum';
import { ThreeTurnsBlockGenerator } from './ThreeTurnsBlockGenerator';
import { DistanceFactorType } from '../../shared/types/distance-factor.type';
import { MapMovementCompositeFilterType } from '../../shared/types/map-composite-filters.type';
import { CompassArc } from '../sequence-tracker/CompassArc';
import { Roulette } from '../roulette/Roulette';
import { MovementChanceRatioMapGenerator } from '../chance-ratio-map-generator/MovementChanceRatioMapGenerator';
export declare class DefaultStepSequenceGenerator extends AbstractSequenceGenerator<StepCounter> {
private threeTurnsBlockGenerator;
private serviceMessage;
constructor(data: {
library: MovementLibrary;
context: StepContext<IMovementExtended>;
counter: StepCounter;
chanceRatioMapGenerator: MovementChanceRatioMapGenerator;
roulette: Roulette;
tracker: StepTracker;
filterStrategy: MapMovementCompositeFilterType;
threeTurnsBlockGenerator: ThreeTurnsBlockGenerator;
compassArc: CompassArc;
});
generate(stepAmountBySequenceLevel: DifficultLevelAmountStep, distanceFactor: DistanceFactorType): IMovementExtended[];
private isTimeToInsertThreeTurnsBlock;
}