mylingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
29 lines (28 loc) • 1.29 kB
TypeScript
import { Point3d } from "@lincode/math";
import PhysicsObjectManager from "../display/core/PhysicsObjectManager";
import ISimpleObjectManager from "./ISimpleObjectManager";
import Defaults from "./utils/Defaults";
import { ExtractProps } from "./utils/extractProps";
import Nullable from "./utils/Nullable";
export type PhysicsGroupIndex = 0 | 1 | 2 | 3 | 4 | 5;
export type PhysicsOptions = boolean | "2d" | "map" | "map-debug" | "character";
export type PhysicsShape = (this: PhysicsObjectManager) => Promise<void>;
export default interface IPhysicsObjectManager extends ISimpleObjectManager {
maxAngularVelocityX: number;
maxAngularVelocityY: number;
maxAngularVelocityZ: number;
maxVelocityX: number;
maxVelocityY: number;
maxVelocityZ: number;
velocity: Point3d;
gravity: boolean;
noTumble: Nullable<boolean>;
slippery: Nullable<boolean>;
mass: Nullable<number>;
physicsGroup: Nullable<PhysicsGroupIndex>;
ignorePhysicsGroups: Nullable<Array<PhysicsGroupIndex>>;
physics: PhysicsOptions;
physicsShape: PhysicsShape;
}
export declare const physicsObjectManagerSchema: Required<ExtractProps<IPhysicsObjectManager>>;
export declare const physicsObjectManagerDefaults: Defaults<IPhysicsObjectManager>;