the-world-engine
Version:
three.js based, unity like game engine for browser
95 lines (94 loc) • 3.37 kB
TypeScript
import type { Shape } from "../../../../box2d.ts/build/index";
import { Component } from "../../../hierarchy_object/Component";
import type { ReadonlyVector2 } from "../../../math/ReadonlyVector2";
import { ContactPoint2D } from "../../../physics/2d/ContactPoint2D";
import { PhysicsMaterial2D } from "../../../physics/2d/PhysicsMaterial2D";
import type { CollisionLayer, CollisionLayerParm } from "../../../physics/CollisionLayer";
/**
* collider2d base component
*
* you can't create collider2d component directly. use drived class. e.g. BoxCollider2D
*/
export declare class Collider2D extends Component {
private _fixtureGroup;
private _density;
private _material;
private _isTrigger;
private readonly _offset;
private _collisionLayer;
onEnable(): void;
onDisable(): void;
onDestroy(): void;
private createFixture;
private destroyFixture;
protected updateFixture(): void;
private static readonly _filterBuffer;
protected createShapes(): Shape[];
/**
* The density of the collider used to calculate its mass (when auto mass is enabled). (default: 1)
*/
get density(): number;
/**
* The density of the collider used to calculate its mass (when auto mass is enabled). (default: 1)
*/
set density(value: number);
/**
* The PhysicsMaterial2D that is applied to this collider. (default: null)
*/
get material(): PhysicsMaterial2D | null;
/**
* The PhysicsMaterial2D that is applied to this collider. (default: null)
*/
set material(value: PhysicsMaterial2D | null);
/**
* Is this collider configured as a trigger? (default: false)
*/
get isTrigger(): boolean;
/**
* Is this collider configured as a trigger? (default: false)
*/
set isTrigger(value: boolean);
/**
* The local offset of the collider geometry. (default: (0, 0))
*/
get offset(): ReadonlyVector2;
/**
* The local offset of the collider geometry. (default: (0, 0))
*/
set offset(value: ReadonlyVector2);
/**
* get collision layer of this collider as string.
* @returns layer name
*/
getLayerToName<T extends CollisionLayer>(): CollisionLayerParm<T> | null;
/**
* set collision layer of this collider from string.
* @param value layer name
*/
setLayerFromName<T extends CollisionLayer>(value: CollisionLayerParm<T> | null): void;
/**
* collision layer of this collider. (default: null)
*/
get layer(): number | null;
/**
* collision layer of this collider. (default: null)
*/
set layer(value: number | null);
/**
* get collision layer as string. if collider collision layer is not set, it will return the rigidbody collision layer.
* @returns layer name
*/
getThisOrRigidBodyLayerToName<T extends CollisionLayer>(): CollisionLayerParm<T>;
/**
* get collision layer. if collider collision layer is not set, it will return the rigidbody collision layer.
* @returns layer
*/
getThisOrRigidBodyLayer(): number;
private readonly _worldManifold;
/**
* Retrieves all contact points for this Collider.
* @param out The array to store the contact points in.
* @returns The number of contact points retrieved.
*/
getContacts(out: ContactPoint2D[]): number;
}