UNPKG

@matematrolii/sketchbook

Version:

3D matematrolii playground built on three.js and cannon.js

56 lines (55 loc) 2.3 kB
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; }