Files
Zos/Skills/@be/node_modules/pixi-particles/ambient.d.ts

196 lines
6.1 KiB
TypeScript

// Typings for pixi-particles 2.1.9, requires Pixi.js typings
declare namespace PIXI.particles {
type TexSrc = string|PIXI.Texture;
export interface ParticleConstructor {
new (emitter:Emitter):Particle;
}
export interface AnimatedParticleArt {
textures:(TexSrc|{count:number, texture:TexSrc})[];
framerate:number|"matchLife";
loop?:boolean;
}
export interface ParsedAnimatedParticleArt {
textures:PIXI.Texture[];
framerate:number;
elapsed:number;
loop:boolean;
}
export class AnimatedParticle extends Particle {
private textures:PIXI.Texture[];
private duration:number;
private framerate:number;
private elapsed:number;
private loop:boolean;
public static parseArt(art:AnimatedParticleArt[]):ParsedAnimatedParticleArt[];
public applyArt(art:ParsedAnimatedParticleArt):void;
}
export class Emitter {
private _particleConstructor:new (emitter:Emitter)=>Particle;
private _frequency:number;
private _spawnFunc:(p:Particle, emitPosX:number, emitPosY:number, i:number)=>void;
private _prevEmitterPos:PIXI.Point;
private _prevPosIsValid:boolean;
private _posChanged:boolean;
private _parentIsPC:boolean;
private _parent:PIXI.Container;
private _emit:boolean;
private _spawnTimer:number;
private _emitterLife:number;
private _activeParticlesFirst:Particle;
private _activeParticlesLast:Particle;
private _poolFirst:Particle;
private _origConfig:any;
private _origArt:any;
private _autoUpdate:boolean;
private _destroyWhenComplete:boolean;
private _completeCallback:()=>void;
public particleImages:any[];
public startAlpha:number;
public endAlpha:number;
public startSpeed:number;
public endSpeed:number;
public minimumSpeedMultiplier:number;
public acceleration:PIXI.Point;
public maxSpeed:number;
public startScale:number;
public endScale:number;
public minimumScaleMultiplier:number;
public startColor:[number, number, number];
public endColor:[number, number, number];
public minLifetime:number;
public maxLifetime:number;
public minStartRotation:number;
public maxStartRotation:number;
public noRotation:boolean;
public minRotationSpeed:number;
public maxRotationSpeed:number;
public particleBlendMode:number;
public customEase:(time:number)=>number;
public extraData:any;
public maxParticles:number;
public emitterLifetime:number;
public readonly spawnPos:PIXI.Point;
public readonly spawnType:"point"|"rectangle"|"circle"|"burst"|"ring";
public spawnRect:PIXI.Rectangle;
public spawnCircle:PIXI.Circle;
public particlesPerWave:number;
public particleSpacing:number;
public angleStart:number;
public readonly rotation:number;
public readonly ownerPos:PIXI.Point;
public addAtBack:boolean;
public readonly particleCount:number;
public frequency:number;
public particleConstructor:ParticleConstructor;
public parent:PIXI.Container;
public emit:boolean;
public autoUpdate:boolean;
constructor(particleParent:PIXI.Container, particleImages:any, config:any);
private recycle(p:Particle):void;
private _spawnPoint(p:Particle, emitPosX:number, emitPosY:number, i:number):void;
private _spawnRect(p:Particle, emitPosX:number, emitPosY:number, i:number):void;
private _spawnCircle(p:Particle, emitPosX:number, emitPosY:number, i:number):void;
private _spawnRing(p:Particle, emitPosX:number, emitPosY:number, i:number):void;
private _spawnBurst(p:Particle, emitPosX:number, emitPosY:number, i:number):void;
public init(art:any, config:any):void;
public rotate(newRot:number):void;
public updateSpawnPos(x:number, y:number):void;
public updateOwnerPos(x:number, y:number):void;
public resetPositionTracking():void;
public update(delta:number):void;
public playOnceAndDestroy(callback?:()=>void):void;
public playOnce(callback?:()=>void):void;
public cleanup():void;
public destroy():void;
}
export class Particle extends PIXI.Sprite {
private _sR:number;
private _sG:number;
private _sB:number;
private _eR:number;
private _eG:number;
private _eB:number;
private _doAlpha:boolean;
private _doScale:boolean;
private _doSpeed:boolean;
private _doAcceleration:boolean;
private _doColor:boolean;
private _doNormalMovement:boolean;
private _oneOverLife:number;
private next:Particle;
private prev:Particle;
public emitter:Emitter;
public velocity:PIXI.Point;
public maxLife:number;
public age:number;
public ease:(time:number)=>number;
public extraData:any;
public startAlpha:number;
public endAlpha:number;
public startSpeed:number;
public endSpeed:number;
public acceleration:PIXI.Point;
public maxSpeed:number;
public startScale:number;
public endScale:number;
public startColor:number[];
public endColor:number[];
/** Note that for Particle, the parameter is an array of strings or PIXI.Textures, and an array of Textures is returned. */
public static parseArt(art:any):any;
public static parseData(data:any):any;
constructor(emitter:Emitter);
protected Particle_init():void;
protected Particle_update(delta:number):number;
public init():void;
/** Note that for Particle, the parameter is of type PIXI.Texture */
public applyArt(art:any):void;
public update(delta:number):number;
public kill():void;
public destroy():void;
}
export interface EaseSegment {
cp:number;
s:number;
e:number;
}
export class ParticleUtils {
public static verbose:boolean;
public static rotatePoint(angle:number, p:PIXI.Point):void;
public static combineRGBComponents(r:number, g:number, b:number):number;
public static normalize(p:PIXI.Point):void;
public static scaleBy(p:PIXI.Point, value:number):void;
public static length(p:PIXI.Point):number;
public static hexToRGB(color:string, output?:[number, number, number]):[number, number, number];
public static generateEase(segments:EaseSegment[]):(time:number)=>number;
public static getBlendMode(name:string):number;
}
export class PathParticle extends Particle {
public path:(x:number)=>number;
public initialRotation:number;
public initialPosition:PIXI.Point;
public movement:number;
public static parseArt(art:TexSrc[]):PIXI.Texture[];
public static parseData(data:{path:string}):any;
}
}