Skip to content

Commit

Permalink
build
Browse files Browse the repository at this point in the history
  • Loading branch information
yomotsu committed Apr 28, 2023
1 parent b259928 commit 5705036
Show file tree
Hide file tree
Showing 14 changed files with 7,716 additions and 0 deletions.
16 changes: 16 additions & 0 deletions dist/TPS/AnimationController.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { Mesh, AnimationMixer } from 'three';
import type { AnimationClip, AnimationAction } from 'three';
export type Motion = {
[name: string]: AnimationAction;
};
export declare class AnimationController {
mesh: Mesh;
motion: Motion;
mixer: AnimationMixer;
currentMotionName: string;
_targetRotY: number | null;
constructor(mesh: Mesh, animations: AnimationClip[]);
play(name: string): void;
turn(rad: number, immediate: boolean): void;
update(deltaTime: number): void;
}
17 changes: 17 additions & 0 deletions dist/TPS/KeyInputControl.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { EventDispatcher } from '../core/EventDispatcher';
export declare class KeyInputControl extends EventDispatcher {
private isDisabled;
private isUp;
private isDown;
private isLeft;
private isRight;
private isMoveKeyHolding;
private frontAngle;
private _keydownListener;
private _keyupListener;
private _blurListener;
constructor();
jump(): void;
updateAngle(): void;
dispose(): void;
}
8 changes: 8 additions & 0 deletions dist/TPS/TPSCameraControls.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import CameraControls from 'camera-controls';
import { World } from 'core/World';
export declare class TPSCameraControls extends CameraControls {
world: World;
constructor(camera: THREE.PerspectiveCamera, trackObject: THREE.Object3D, world: World, domElement: HTMLElement);
get frontAngle(): number;
_collisionTest(): number;
}
43 changes: 43 additions & 0 deletions dist/core/CharacterController.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import { Vector3 } from 'three';
import type { Object3D } from 'three';
import { EventDispatcher } from './EventDispatcher';
import type { ComputedTriangle } from '../math/triangle';
export declare class CharacterController extends EventDispatcher {
isCharacterController: boolean;
object: Object3D;
radius: number;
position: Vector3;
groundCheckDepth: number;
maxSlopeGradient: number;
isGrounded: boolean;
isOnSlope: boolean;
isIdling: boolean;
isRunning: boolean;
isJumping: boolean;
direction: number;
movementSpeed: number;
velocity: Vector3;
currentJumpPower: number;
jumpStartTime: number;
groundHeight: number;
groundNormal: Vector3;
nearTriangles: ComputedTriangle[];
contactInfo: {
depth: number;
point: Vector3;
triangle: ComputedTriangle;
}[];
private _events;
constructor(object3d: Object3D, radius: number);
setNearTriangles(nearTriangles: ComputedTriangle[]): void;
update(deltaTime: number): void;
_updateVelocity(): void;
_checkGround(): void;
_updatePosition(deltaTime: number): void;
_collisionDetection(): void;
_solvePosition(): void;
setDirection(): void;
jump(): void;
_updateJumping(): void;
teleport(x: number, y: number, z: number): void;
}
35 changes: 35 additions & 0 deletions dist/core/EventDispatcher.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
export type Listener = (event?: DispatcherEvent) => void;
export interface DispatcherEvent {
type: string;
[key: string]: any;
}
export declare class EventDispatcher {
private _listeners;
/**
* Adds the specified event listener.
* @param type event name
* @param listener handler function
* @category Methods
*/
addEventListener(type: string, listener: Listener): void;
/**
* Presence of the specified event listener.
* @param type event name
* @param listener handler function
* @category Methods
*/
hasEventListener(type: string, listener: Listener): boolean;
/**
* Removes the specified event listener
* @param type event name
* @param listener handler function
* @category Methods
*/
removeEventListener(type: string, listener: Listener): void;
/**
* Fire an event type.
* @param event DispatcherEvent
* @category Methods
*/
dispatchEvent(event: DispatcherEvent): void;
}
29 changes: 29 additions & 0 deletions dist/core/Octree.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { ComputedTriangle } from '../math/triangle';
import { Box3, Line3, Sphere, Vector3 } from 'three';
import type { Ray, Object3D } from 'three';
export declare class Octree {
box: Box3;
bounds: Box3;
triangles: ComputedTriangle[];
subTrees: Octree[];
constructor(box?: Box3);
addTriangle(triangle: ComputedTriangle): void;
calcBox(): this;
split(level: number): void;
build(): this;
getLineTriangles(line: Line3, result: ComputedTriangle[]): ComputedTriangle[];
getRayTriangles(ray: Ray, result: ComputedTriangle[]): ComputedTriangle[];
getSphereTriangles(sphere: Sphere, result: ComputedTriangle[]): ComputedTriangle[];
getCapsuleTriangles(capsule: Sphere, result: ComputedTriangle[]): void;
lineIntersect(line: Line3): false | {
distance: number;
triangle: ComputedTriangle;
position: Vector3;
};
rayIntersect(ray: Ray): false | {
distance: number;
triangle: ComputedTriangle | undefined;
position: Vector3 | undefined;
} | undefined;
addGraphNode(object: Object3D): void;
}
16 changes: 16 additions & 0 deletions dist/core/World.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { Octree } from './Octree';
import { CharacterController } from './CharacterController';
export declare class World {
colliderPool: Octree[];
characterPool: CharacterController[];
private _fps;
private _stepsPerFrame;
constructor({ fps, stepsPerFrame }?: {
fps?: number | undefined;
stepsPerFrame?: number | undefined;
});
add(object: Octree | CharacterController): void;
remove(object: Octree | CharacterController): void;
fixedUpdate(): void;
step(stepDeltaTime: number): void;
}
6 changes: 6 additions & 0 deletions dist/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export { World } from './core/World';
export { Octree } from './core/Octree';
export { CharacterController } from './core/CharacterController';
export { AnimationController } from './TPS/AnimationController';
export { KeyInputControl } from './TPS/KeyInputControl';
export { TPSCameraControls } from './TPS/TPSCameraControls';
19 changes: 19 additions & 0 deletions dist/math/collision.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { Vector3, Line3, Plane, Sphere } from 'three';
import type { Box3 } from 'three';
import type { Capsule } from 'three/examples/jsm/math/Capsule.js';
import type { ComputedTriangle } from './triangle';
export declare class Intersection {
point: Vector3;
normal: Vector3;
depth: number;
set(point: Vector3, normal: Vector3, depth: number): void;
}
export declare function isIntersectionCapsuleSphere(capsule: Capsule, sphere: Sphere): boolean;
export declare function isIntersectionLineBox(line: Line3, box: Box3, hit?: Vector3): boolean;
export declare function isIntersectionBoxPlane(box: Box3, plane: Plane): boolean;
export declare function isIntersectionTriangleBox(a: Vector3, b: Vector3, c: Vector3, box: Box3): boolean;
export declare function isIntersectionSphereSphere(sphere1: Sphere, sphere2: Sphere): boolean;
export declare function isIntersectionSphereBox(sphere: Sphere, box: Box3): boolean;
export declare function isIntersectionSphereTriangle(sphere: Sphere, a: Vector3, b: Vector3, c: Vector3, normal: Vector3, out: Intersection): boolean;
export declare function testLineTriangle(p: Vector3, q: Vector3, a: Vector3, b: Vector3, c: Vector3, hit: Vector3): boolean;
export declare function testTriangleCapsule(capsule: Capsule, triangle: ComputedTriangle, out: Intersection): boolean;
8 changes: 8 additions & 0 deletions dist/math/triangle.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { Vector3, Triangle, Sphere } from 'three';
export declare class ComputedTriangle extends Triangle {
boundingSphere: Sphere | undefined;
normal: Vector3;
constructor(a: Vector3, b: Vector3, c: Vector3);
computeBoundingSphere(): void;
extend(amount: number): void;
}
Loading

0 comments on commit 5705036

Please sign in to comment.