import { Position } from "../types"; import { ParticleGenerator } from "./generator"; import { ModuleObject } from "../module"; import { ParticleEffect } from "../particleEffect"; /** * Generator module that creates particles along the exterior of a circular area. * * Each particle is generated next to each other, so that when particles are regularly generated they move around the circle. * * @module * @category Generator * interval { * @tooltip TODO * @type Number * @min 0 * @step 0.01 * @defaultValue 0.1 * } * center { * @tooltip TODO * @type Position * @defaultValue { "x": 0, "y": 0 } * } * bursts { * @tooltip TODO * @type Burst[] * @defaultValue [] * } * radius { * @tooltip TODO * @type Number * @defaultValue 50 * } * nextParticleAngle { * @tooltip TODO * @type Number * @defaultValue 0 * } * angleStep { * @tooltip Radians * @type Number * @defaultValue 0.5 * } */ export declare class CircleLoadingGenerator extends ParticleGenerator { /** * Center location of the circle. */ center: Position; /** * Radius of the circle as pixels. */ radius: number; /** * The angle at which the next particle will be generated at. * * Unit is in _radians_. */ nextParticleAngle: number; /** * The angle that is incremented between each generated particle. * * Unit is in _radians_. */ angleStep: number; generateParticle(): void; /** * Wrap the properties of the module into a JSON containing only primitive JavaScript data types * (such as numbers, strings, etc.) that can be serialized into strings natively. */ toObject(): ModuleObject; static fromObject(particleEffect: ParticleEffect, object: ModuleObject, hideWarnings: boolean): CircleLoadingGenerator; /** * Serializable identifier for the module. * * This must be unique between all existing Modules in the library. */ static moduleTypeId: string; }