Преглед изворни кода

copy and free navmesh data

Cedric Guillemet пре 5 година
родитељ
комит
b3b5780243
2 измењених фајлова са 5 додато и 19 уклоњено
  1. 0 6
      src/Navigation/INavigationEngine.ts
  2. 5 13
      src/Navigation/Plugins/recastJSPlugin.ts

+ 0 - 6
src/Navigation/INavigationEngine.ts

@@ -99,12 +99,6 @@ export interface INavigationEnginePlugin {
     getNavmeshData(): Uint8Array;
 
     /**
-     * Disposes the data returned by buildFromNavmeshData
-     * @param data the Uint8Array returned by getNavmeshData
-     */
-    freeNavmeshData(data: Uint8Array): void;
-
-    /**
      * Release all resources
      */
     dispose(): void;

+ 5 - 13
src/Navigation/Plugins/recastJSPlugin.ts

@@ -274,19 +274,11 @@ export class RecastJSPlugin implements INavigationEnginePlugin {
     getNavmeshData(): Uint8Array
     {
         let navmeshData = this.navMesh.getNavmeshData();
-        console.log(navmeshData.dataPointer);
-        return new Uint8Array(this.bjsRECAST.HEAPU8.buffer, navmeshData.dataPointer, navmeshData.size);
-    }
-
-    /**
-     * Disposes the data returned by buildFromNavmeshData
-     * @param data the Uint8Array returned by getNavmeshData
-     */
-    freeNavmeshData(data: Uint8Array): void
-    {
-        let buf = new this.bjsRECAST.NavmeshData;
-        buf.dataPointer = data.buffer;
-        this.navMesh.freeNavmeshData(buf);
+        var arrView = new Uint8Array(this.bjsRECAST.HEAPU8.buffer, navmeshData.dataPointer, navmeshData.size);
+        var ret = new Uint8Array(navmeshData.size);
+        ret.set(arrView);
+        this.navMesh.freeNavmeshData(navmeshData);
+        return ret;
     }
 
     /**