Source: app/ai/Nav-mesh.js

/** 
 * @module ai/NavMesh
 */

const PhaserNavmesh = require('phaser-navmesh');
/**
 * 
 */

/**
 * Create a navigation mesh
 * @param {tilemap} tilemap 
 * @constructor NavMesh
 */
function NavMesh(tilemap) {
    this.navMeshPlugin = game.plugins.add(PhaserNavmesh);
    this.navMesh = this.navMeshPlugin.buildMeshFromTiled(tilemap,
         'navmesh', 16);
    // this.navMesh.enableDebug();
    // this.navMesh.debugDrawMesh({
    //     drawCentroid: false, drawBounds: false,
    //      drawNeighbors: false, drawPortals: false,
    // });
}
/**
 * 
 * @param {Phaser.Point} start
 * @param {Phaser.Point} finish
 * @return {path} path
 */
NavMesh.prototype.findPath = function(start, finish) {
    // return this.navMesh.findPath(start, finish);
    // this.navMesh.debugClear(); // Clears the overlay
    // draw the path    
    // this.navMesh.findPath(start, finish, {
    //     drawPolyPath: false, drawFinalPath: true,
    // });
    let path = this.navMesh.findPath(start, finish);
    return path;
};

module.exports = NavMesh;