浏览代码

Merge pull request #9544 from CedricGuillemet/recastdts

recast.d.ts
David Catuhe 4 年之前
父节点
当前提交
38ec648e42
共有 2 个文件被更改,包括 100 次插入0 次删除
  1. 99 0
      dist/preview release/recast.d.ts
  2. 1 0
      dist/preview release/what's new.md

+ 99 - 0
dist/preview release/recast.d.ts

@@ -0,0 +1,99 @@
+declare module Recast {
+export class rcConfig {
+    new ();
+    width: number;
+    height: number;
+    tileSize: number;
+    borderSize: number;
+    cs: number;
+    ch: number;
+    bmin: any;
+    bmax: any;
+    walkableSlopeAngle: number;
+    walkableHeight: number;
+    walkableClimb: number;
+    walkableRadius: number;
+    maxEdgeLen: number;
+    maxSimplificationError: number;
+    minRegionArea: number;
+    mergeRegionArea: number;
+    maxVertsPerPoly: number;
+    detailSampleDist: number;
+    detailSampleMaxError: number;
+}
+export class Vec3 {
+    new ();
+    new (x: number, y: number, z: number);
+    x: number;
+    y: number;
+    z: number;
+}
+export class Triangle {
+    new ();
+    getPoint(n: number): Vec3;
+}
+export class DebugNavMesh {
+    new ();
+    getTriangleCount(): number;
+    getTriangle(n: number): Triangle;
+}
+export class dtNavMesh {
+}
+export class NavmeshData {
+    new ();
+    dataPointer: any;
+    size: number;
+}
+export class NavPath {
+    getPointCount(): number;
+    getPoint(n: number): Vec3;
+}
+export class dtCrowdAgentParams {
+    new ();
+    radius: number;
+    height: number;
+    maxAcceleration: number;
+    maxSpeed: number;
+    collisionQueryRange: number;
+    pathOptimizationRange: number;
+    separationWeight: number;
+    updateFlags: number;
+    obstacleAvoidanceType: number;
+    queryFilterType: number;
+    userData: unknown;
+}
+export class NavMesh {
+    new ();
+    destroy(): void;
+    build(positions: any, positionCount: number, indices: any, indexCount: number, config: rcConfig): void;
+    buildFromNavmeshData(data: NavmeshData): void;
+    getNavmeshData(): NavmeshData;
+    freeNavmeshData(data: NavmeshData): void;
+    getDebugNavMesh(): DebugNavMesh;
+    getClosestPoint(position: Vec3): Vec3;
+    getRandomPointAround(position: Vec3, maxRadius: number): Vec3;
+    moveAlong(position: Vec3, destination: Vec3): Vec3;
+    getNavMesh(): dtNavMesh;
+    computePath(start: Vec3, end: Vec3): NavPath;
+    setDefaultQueryExtent(extent: Vec3): void;
+    getDefaultQueryExtent(): Vec3;
+}
+export class Crowd {
+    new (maxAgents: number, maxAgentRadius: number, nav: dtNavMesh);
+    destroy(): void;
+    addAgent(position: Vec3, params: dtCrowdAgentParams): number;
+    removeAgent(idx: number): void;
+    update(dt: number): void;
+    getAgentPosition(idx: number): Vec3;
+    getAgentVelocity(idx: number): Vec3;
+    getAgentNextTargetPath(idx: number): Vec3;
+    getAgentState(idx: number): number;
+    overOffmeshConnection(idx: number): boolean;
+    agentGoto(idx: number, destination: Vec3): void;
+    agentTeleport(idx: number, destination: Vec3): void;
+    getAgentParameters(idx: number): dtCrowdAgentParams;
+    setAgentParameters(idx: number, params: dtCrowdAgentParams): void;
+    setDefaultQueryExtent(extent: Vec3): void;
+    getDefaultQueryExtent(): Vec3;
+}
+}

+ 1 - 0
dist/preview release/what's new.md

@@ -19,6 +19,7 @@
 ### Navigation
 
 - Added support for thin instances in navigation mesh creation ([CedricGuillemet](https://github.com/CedricGuillemet))
+- Added recast.d.ts definition file for recast.js ([CedricGuillemet](https://github.com/CedricGuillemet))
 
 ### Materials