/*! * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { ActionHandler, BehaviorType, User, Vector3Like } from '../..'; import { Behavior } from './behavior'; /** * Interface that represents a point in space as a local space point and an app space point. */ export interface PointData { /** * The app coordinate space target points collected for the event */ appSpacePoint: Vector3Like; /** * The local coordinate space target points collected for the event. */ localSpacePoint: Vector3Like; } /** * Interface that represents the target event data passed along though event handler functions. */ export interface TargetEventData { /** * The collection of target point data. */ targetedPoints: PointData[]; } /** * Target behavior class containing the target behavior actions. */ export declare class TargetBehavior extends Behavior { private _target; /** @inheritdoc */ get behaviorType(): BehaviorType; /** * Add a target handler to be called when the given target state is triggered. * @param targetState The target state to fire the handler on. * @param handler The handler to call when the target state is triggered. * @return This target behavior. */ onTarget(targetState: 'enter' | 'exit', handler: ActionHandler): this; /** * Gets whether the behavior is being targeted by the given user, or at all if no user is given. * @param user The user to check whether they are targeting this behavior. * @return True if the user is targeting this behavior, false if not. In the case where no user id is given, this * returns true if any user is targeting this behavior, false if none are. */ isTargeted(user?: User): boolean; } //# sourceMappingURL=targetBehavior.d.ts.map