@matematrolii/sketchbook
Version:
3D matematrolii playground built on three.js and cannon.js
56 lines (55 loc) • 2.3 kB
TypeScript
import * as THREE from "three";
import * as CANNON from "cannon";
import { VectorSpringSimulator } from "../physics/spring_simulation/VectorSpringSimulator";
import { RelativeSpringSimulator } from "../physics/spring_simulation/RelativeSpringSimulator";
import { World } from "../world/World";
import { IWorldEntity } from "../interfaces/IWorldEntity";
import { SphereCollider } from "../physics/colliders/SphereCollider";
import { EntityType } from "../enums/EntityType";
import { GroundImpactData } from "./GroundImpactData";
export declare class Bullet extends THREE.Object3D implements IWorldEntity {
updateOrder: number;
entityType: EntityType;
groundImpactData: GroundImpactData;
velocity: THREE.Vector3;
arcadeVelocityInfluence: THREE.Vector3;
velocityTarget: THREE.Vector3;
arcadeVelocityIsAdditive: boolean;
defaultVelocitySimulatorDamping: number;
defaultVelocitySimulatorMass: number;
velocitySimulator: VectorSpringSimulator;
moveSpeed: number;
angularVelocity: number;
orientation: THREE.Vector3;
orientationTarget: THREE.Vector3;
defaultRotationSimulatorDamping: number;
defaultRotationSimulatorMass: number;
rotationSimulator: RelativeSpringSimulator;
viewVector: THREE.Vector3;
bulletBox: SphereCollider;
rayResult: CANNON.RaycastResult;
rayHasHit: boolean;
rayCastLength: number;
raySafeOffset: number;
raycastBox: THREE.Mesh;
world: World;
private physicsEnabled;
prevStep: number;
enemyNameFound: any;
constructor();
setArcadeVelocityInfluence(x: number, y?: number, z?: number): void;
setViewVector(vector: THREE.Vector3): void;
setPosition(x: number, y: number, z: number): void;
resetVelocity(): void;
setArcadeVelocityTarget(velZ: number, velX?: number, velY?: number): void;
setOrientation(vector: THREE.Vector3, instantly?: boolean): void;
setPhysicsEnabled(value: boolean): void;
update(timeStep: number): void;
springRotation(timeStep: number): void;
physicsPreStep(body: CANNON.Body, character: Bullet): void;
feetRaycast(): void;
physicsPostStep(body: CANNON.Body, character: Bullet): void;
collideListener(colider: any): void;
addToWorld(world: World): void;
removeFromWorld(world: World): void;
}