@dill-pixel/plugin-snap-physics
Version:
Snap Physics
49 lines • 2.34 kB
TypeScript
import { Application } from 'dill-pixel';
import { Circle, Point, Rectangle } from 'pixi.js';
import { Entity } from './Entity';
import { Collision, EntityType } from './types';
export declare class Actor<T = any, A extends Application = Application> extends Entity<T, A> {
type: string;
isActor: boolean;
passThroughTypes: EntityType[];
passingThrough: Set<Entity>;
riding: Set<Entity>;
mostRiding: Entity | null;
protected _animations: Set<gsap.core.Tween | gsap.core.Timeline>;
protected _activeCollisions: Collision[];
protected _animationTargets: Map<'x' | 'y', {
target: number;
duration: number;
elapsed: number;
start: number;
ease: gsap.EaseString;
repeat: number;
yoyo: boolean;
repeatDelay: number;
delayRemaining: number;
iteration: number;
isReversed: boolean;
}>;
get activeCollisions(): Collision[];
set activeCollisions(value: Collision[]);
get ridingAllowed(): boolean;
getCollideables<T extends Entity = Entity>(dx?: number, dy?: number): Set<T>;
added(): void;
removed(): void;
squish(_collision?: Collision, _pushingEntity?: Entity, _direction?: Point): void;
animateX(target: number, vars?: gsap.TweenVars): gsap.core.Tween;
animateY(target: number, vars?: gsap.TweenVars): gsap.core.Tween;
postFixedUpdate(): void;
animateTo(prop: 'x' | 'y', target: number, vars?: gsap.TweenVars): gsap.core.Tween;
fixedUpdate(deltaTime: number): void;
moveX(amount: number, onCollide?: ((collision: Collision, pushingEntity?: Entity, direction?: Point) => void) | null, onNoCollisions?: (() => void) | null, pushingEntity?: Entity): void;
moveY(amount: number, onCollide?: ((collision: Collision, pushingEntity?: Entity, direction?: Point) => void) | null, onNoCollisions?: (() => void) | null, pushingEntity?: Entity): void;
collideAt(x: number, y: number, box: Rectangle | Circle, sides?: ('top' | 'right' | 'bottom' | 'left')[]): Collision[] | false;
isRiding(solid: Entity, dx?: number, dy?: number): boolean;
setPassingThrough(entity: Entity): void;
removePassingThrough(entity: Entity): void;
isPassingThrough(entity: Entity): boolean;
private clearAllRiding;
private setAllRiding;
}
//# sourceMappingURL=Actor.d.ts.map