@dill-pixel/plugin-snap-physics
Version:
Snap Physics
50 lines • 1.77 kB
TypeScript
import { Application, Container } from 'dill-pixel';
import { Bounds, Circle, Container as PIXIContianer, Point, Rectangle } from 'pixi.js';
import { ICollider } from './ICollider';
import { System } from './System';
import { EntityType, SnapBoundary } from './types';
export declare class Entity<T = any, A extends Application = Application> extends Container<A> implements ICollider {
view: PIXIContianer;
isActor: boolean;
isSolid: boolean;
isSensor: boolean;
debug: boolean;
debugColors: {
bounds: number;
outerBounds: number;
};
type: EntityType;
isCircle: boolean;
isCollideable: boolean;
xRemainder: number;
yRemainder: number;
config: T;
protected subpixelX: number;
protected subpixelY: number;
protected remainder: Point;
constructor(config?: Partial<T>);
protected _cachedBounds: SnapBoundary | null;
get cachedBounds(): SnapBoundary;
set cachedBounds(value: Bounds);
protected _dirtyBounds: boolean;
get dirtyBounds(): boolean;
set dirtyBounds(value: boolean);
get boundingRect(): Rectangle;
get top(): number;
get bottom(): number;
get left(): number;
get right(): number;
get system(): typeof System;
getCollideables<T extends Entity = Entity>(dx?: number, dy?: number): Set<T>;
preFixedUpdate(): void;
fixedUpdate(deltaTime?: number): void;
postFixedUpdate(): void;
getWorldBounds(): SnapBoundary;
getBoundingBox(): Rectangle | Circle;
getOuterBoundingBox(): Rectangle | Circle | null;
moveX(amount: number): void;
moveY(amount: number): void;
collidesWith(entity: Entity, dx?: number, dy?: number): boolean;
protected initialize(): void;
}
//# sourceMappingURL=Entity.d.ts.map