import { Coordinates, Location, MaterialItem } from '@gamepark/rules-api'; import { LocationDescription } from '../components'; import { ItemContext, Locator, MaterialContext } from './Locator'; /** * This Locator places items fan-shaped to mimic the ways we hold cards in our hands. */ export declare class HandLocator
extends Locator
{
constructor(clone?: Partial , _context: MaterialContext ): number;
/**
* The default angle of the hand items. For instance, 180 will display the hand oriented towards the bottom of the screen.
*/
baseAngle: number;
/**
* Function to override to provide a {@link baseAngle} that depends on the context
* @param _location Location to position
* @param _context Context of the game
* @returns the default angle of the items
*/
getBaseAngle(_location: Location , _context: MaterialContext ): number;
/**
* The maximum angle that is allowed between the first and the last items displayed.
*/
maxAngle: number;
/**
* Function to override to provide a {@link maxAngle} that depends on the context
* @param _location Location to position
* @param _context Context of the game
* @returns the maximum angle between the first and the last items
*/
getMaxAngle(_location: Location , _context: MaterialContext ): number;
/**
* The maximum angle between two consecutive items in the hand
*/
gapMaxAngle: number;
/**
* Function to override to provide a {@link gapMaxAngle} that depends on the context
* @param _location Location to position
* @param _context Context of the game
* @returns The maximum angle between two consecutive items in the hand
*/
getGapMaxAngle(_location: Location , _context: MaterialContext ): number;
/**
* The direction of the items displayed, for the first to the last index. Default is true.
*/
clockwise: boolean;
/**
* Function to override to provide a {@link clockwise} info that depends on the context
* @param _location Location to position
* @param _context Context of the game
* @returns true if items should be displayed clockwise around the arc of circle. Default is true.
*/
isClockwise(_location: Location , _context: MaterialContext ): boolean;
/**
* The Z-axis position difference between 2 consecutive items in the hand. Default is 0.05cm.
*/
deltaZ: number;
/**
* Function to override to provide a {@link deltaZ} that depends on the context
* @param _location Location to position
* @param _context Context of the game
* @returns The Z-axis position difference between 2 consecutive items in the hand. Default is 0.05cm.
*/
getDeltaZ(_location: Location , _context: MaterialContext ): number;
getPositionDependencies(location: Location , context: MaterialContext ): unknown;
/**
* See {@link Locator.getLocationCoordinates}.
* @param location Location to position
* @param context Context of the game
* @param index Index of the item (or location) to place
*/
getLocationCoordinates(location: Location , context: MaterialContext , index?: number | undefined): Coordinates;
getItemCoordinates(item: MaterialItem , context: ItemContext ): Coordinates;
/**
* See {@link Locator.getRotateZ}.
* @param location Location to position
* @param context Context of the game
* @param index Index of the item (or location) to place
*/
getRotateZ(location: Location , context: MaterialContext , index?: number | undefined): number;
getItemRotateZ(item: MaterialItem , context: ItemContext ): number;
protected generateLocationDescriptionFromDraggedItem(_location: Location , context: ItemContext ): LocationDescription ;
/**
* See {@link Locator.getHoverTransform}. By default, display the item on top of others, straight, and twice as big.
*/
getHoverTransform(item: MaterialItem , context: ItemContext ): string[];
}