interface IContainerPlugin {
    clickPositionValid?: ((position: ICoordinates) => boolean);
    draw?: ((context: CanvasRenderingContext2D, delta: IDelta) => void);
    drawParticle?: ((context: CanvasRenderingContext2D, particle: Particle, delta: IDelta) => void);
    export?: ((type: string, data: Record<string, unknown>) => Promise<ExportResult>);
    handleClickMode?: ((mode: string) => void);
    init?: (() => Promise<void>);
    particleBounce?: ((particle: Particle, delta: IDelta, direction: OutModeDirection) => boolean);
    particleCreated?: ((particle: Particle) => void);
    particleDestroyed?: ((particle: Particle, override?: boolean) => void);
    particleFillColor?: ((particle: Particle) => undefined | string | IRangeColor);
    particlePosition?: ((position?: ICoordinates, particle?: Particle) => undefined | ICoordinates);
    particlesInitialization?: (() => boolean);
    particlesSetup?: (() => void);
    particleStrokeColor?: ((particle: Particle) => undefined | string | IRangeColor);
    particleUpdate?: ((particle: Particle, delta: IDelta) => void);
    pause?: (() => void);
    play?: (() => void);
    reset?: (() => void);
    resize?: (() => void);
    start?: (() => Promise<void>);
    stop?: (() => void);
    update?: ((delta: IDelta) => void);
}

Implemented by

    Properties

    clickPositionValid?: ((position: ICoordinates) => boolean)
    draw?: ((context: CanvasRenderingContext2D, delta: IDelta) => void)
    drawParticle?: ((context: CanvasRenderingContext2D, particle: Particle, delta: IDelta) => void)
    export?: ((type: string, data: Record<string, unknown>) => Promise<ExportResult>)
    handleClickMode?: ((mode: string) => void)
    init?: (() => Promise<void>)
    particleBounce?: ((particle: Particle, delta: IDelta, direction: OutModeDirection) => boolean)
    particleCreated?: ((particle: Particle) => void)
    particleDestroyed?: ((particle: Particle, override?: boolean) => void)
    particleFillColor?: ((particle: Particle) => undefined | string | IRangeColor)
    particlePosition?: ((position?: ICoordinates, particle?: Particle) => undefined | ICoordinates)
    particlesInitialization?: (() => boolean)
    particlesSetup?: (() => void)
    particleStrokeColor?: ((particle: Particle) => undefined | string | IRangeColor)
    particleUpdate?: ((particle: Particle, delta: IDelta) => void)
    pause?: (() => void)
    play?: (() => void)
    reset?: (() => void)
    resize?: (() => void)
    start?: (() => Promise<void>)
    stop?: (() => void)
    update?: ((delta: IDelta) => void)