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(): CollisionLayerParm | null; /** * set collision layer of this collider from string. * @param value layer name */ setLayerFromName(value: CollisionLayerParm | 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(): CollisionLayerParm; /** * 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; }