import Phaser from "phaser"; import PhaserNavMesh from "./phaser-navmesh"; /** * This class can create navigation meshes for use in Phaser 3. The navmeshes can be constructed * from convex polygons embedded in a Tiled map. The class that conforms to Phaser 3's plugin * structure. * * @export * @class PhaserNavMeshPlugin */ export default class PhaserNavMeshPlugin extends Phaser.Plugins.ScenePlugin { private phaserNavMeshes; constructor(scene: Phaser.Scene, pluginManager: Phaser.Plugins.PluginManager, pluginKey: string); /** Phaser.Scene lifecycle event */ boot(): void; /** Phaser.Scene lifecycle event - noop in this plugin, but still required. */ init(): void; /** Phaser.Scene lifecycle event - noop in this plugin, but still required.*/ start(): void; /** Phaser.Scene lifecycle event - will destroy all navmeshes created. */ destroy(): void; /** * Remove all the meshes from the navmesh. */ removeAllMeshes(): void; /** * Remove the navmesh stored under the given key from the plugin. This does not destroy the * navmesh. * @param key */ removeMesh(key: string): void; /** * This method attempts to automatically build a navmesh based on the give tilemap and tilemap * layer(s). It attempts to respect the x/y position and scale of the layer(s). Important note: it * doesn't support rotation/flip or multiple layers that have different positions/scales. This * method is a bit experimental. It will generate a valid mesh, but it won't necessarily be * optimal, so you may end up sometimes getting non-shortest paths. * * @param key Key to use when storing this navmesh within the plugin. * @param tilemap The tilemap to use for building the navmesh. * @param [tilemapLayers] An optional array of tilemap layers to use for building the mesh. * @param [isWalkable] An optional function to use to test if a tile is walkable. Defaults to * assuming non-colliding tiles are walkable. * @param [shrinkAmount=0] Amount to "shrink" the mesh away from the tiles. This adds more * polygons to the generated mesh, but can be helpful for preventing agents from getting caught on * edges. This supports values between 0 and tileWidth/tileHeight (whichever dimension is * smaller). */ buildMeshFromTilemap(key: string, tilemap: Phaser.Tilemaps.Tilemap, tilemapLayers?: Phaser.Tilemaps.TilemapLayer[], isWalkable?: (tile: Phaser.Tilemaps.Tile) => boolean, shrinkAmount?: number): PhaserNavMesh; /** * Load a navmesh from Tiled. Currently assumes that the polygons are squares! Does not support * tilemap layer scaling, rotation or position. * @param key Key to use when storing this navmesh within the plugin. * @param objectLayer The ObjectLayer from a tilemap that contains the polygons that make up the * navmesh. * @param meshShrinkAmount The amount (in pixels) that the navmesh has been shrunk around * obstacles (a.k.a the amount obstacles have been expanded) */ buildMeshFromTiled(key: string, objectLayer: Phaser.Tilemaps.ObjectLayer, meshShrinkAmount?: number): PhaserNavMesh; } //# sourceMappingURL=phaser-navmesh-plugin.d.ts.map