import Vector from '../../math/Vector'; import { ProximityCallback } from '../Proximity'; import Steerable from '../Steerable'; import ProximityBase from './ProximityBase'; /** * A {@code RadiusProximity} elaborates any agents contained in the specified list that are within the radius of the owner. *

* Note that this implementation checks the AI time of the current frame through the {@link Timepiece#getTime() * GdxAI.getTimepiece().getTime()} method in order to calculate neighbors only once per frame (assuming delta time is always * greater than 0, if time has changed the frame has changed too). This means that *

* * @param Type of vector, either 2D or 3D, implementing the {@link Vector} interface * * @author davebaol */ declare class RadiusProximity> extends ProximityBase { /** The radius of this proximity. */ protected radius: number; private lastTime; private getTickId; /** * Creates a {@code RadiusProximity} for the specified owner, agents and radius. * @param owner the owner of this proximity * @param agents the agents * @param radius the radius of the cone area */ constructor(owner: Steerable, agents: Steerable[], radius: number, getTickId: () => number); /** Returns the radius of this proximity. */ getRadius(): number; /** Sets the radius of this proximity. */ setRadius(radius: number): void; findNeighbors(callback: ProximityCallback): number; } export default RadiusProximity;