UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

131 lines 3.35 kB
/** * @class */ export class FogOfWar { /** * * @type {boolean} */ textureNeedsUpdate: boolean; /** * * @type {boolean} */ distanceFieldNeedsUpdate: boolean; /** * * @type {DataTexture|null} */ texture: DataTexture | null; /** * Resolution scale of FoW versus terrain resolution, higher number makes FoW more detailed * @type {Vector1} */ scale: Vector1; /** * Size of the fog area * @type {Vector2} */ size: Vector2; color: Vector4; /** * Contains indices of pixes that are currently being updated * @type {RowFirstTable} */ fadeMask: RowFirstTable; on: { textureChanged: Signal<any, any, any, any, any, any, any, any>; }; /** * * @type {Sampler2D} */ sampler: Sampler2D; /** * * @type {Sampler2D} */ distanceSampler: Sampler2D; /** * * @param {number} timeDelta */ updateFade(timeDelta: number): void; /** * * @param {number} x * @param {number} y */ revealPoint(x: number, y: number): void; clear(): void; revealAll(): void; concealAll(): void; /** * * @param {number} x * @param {number} y * @param {number} radius */ reveal(x: number, y: number, radius: number): void; /** * * @param {number} x * @param {number} y * @param {number} radius */ conceal(x: number, y: number, radius: number): void; dispose(): void; updateTexture(): void; /** * * @param {number} timeDelta */ update(timeDelta: number): void; /** * Compute bounding box of revealed area in grid space, where coordinate system maps to discrete texels of the fog * @param {AABB2} result */ computeRevealedGridBoundingRectangle(result: AABB2): void; /** * * @param {number} x * @param {number} y * @param {number[]} result */ worldToSamplePosition(x: number, y: number, result: number[]): void; /** * * @param {AABB3} aabb * @param {Vector3} cameraFocalPoint * @param {number} clearance distance to nearest non-occluding cell */ computeAABBVisibility(aabb: AABB3, cameraFocalPoint: Vector3, clearance: number): boolean; /** * Returns fog clearance from a set of world coordinates * @param {number} x world X coordinate * @param {number} y world Y coordinate * @returns {number} clearance value */ getWorldClearance(x: number, y: number): number; rebuildDistanceField(): void; rebuildDistanceSampler(): void; rebuildSampler(): void; /** * * @param {number} w * @param {number} h * @param scale */ resize(w: number, h: number, scale: any): void; } export namespace FogOfWar { let typeName: string; } import { DataTexture } from "three"; import Vector1 from "../../../core/geom/Vector1.js"; import Vector2 from "../../../core/geom/Vector2.js"; import Vector4 from "../../../core/geom/Vector4.js"; import { RowFirstTable } from "../../../core/collection/table/RowFirstTable.js"; import Signal from "../../../core/events/signal/Signal.js"; import { Sampler2D } from "../../graphics/texture/sampler/Sampler2D.js"; //# sourceMappingURL=FogOfWar.d.ts.map