the-world-engine
Version:
three.js based, unity like game engine for browser
54 lines (53 loc) • 1.81 kB
TypeScript
import { Component } from "../../hierarchy_object/Component";
import type { ComponentConstructor } from "../../hierarchy_object/ComponentConstructor";
import type { GridEventMap } from "./GridEventMap";
/**
* for player interact with GridEventMap you should add this component to your player
* and use PlayerGridEventInvoker.addGridEventMap to register your grid event map
*
*
* disallow multiple component
*
* require components: `PlayerGridMovementController`
*/
export declare class PlayerGridEventInvoker extends Component {
readonly disallowMultipleComponent: boolean;
readonly requiredComponents: ComponentConstructor[];
private _collideSize;
private _playerGridMovementController;
private readonly _gridEventMaps;
private readonly onMoveToTarget;
awake(): void;
onDestroy(): void;
/**
* add GridEventMap to this player, you should add GridEventMap for interaction
* @param gridEventMap grid event map
*/
addGridEventMap(gridEventMap: GridEventMap): void;
/**
* remove GridEventMap from this player
* @param gridEventMap grid event map
*/
removeGridEventMap(gridEventMap: GridEventMap): void;
/**
* remove all GridEventMap from this player
* @param gridEventMap grid event map
*/
removeAllGridEventMap(): void;
/**
* collide size of `tryInvokeEvent` (default: 0.5)
*
* The larger this value, the greater the range of event invocation
*
* The default is to match the tile size of 1x1
*/
get collideSize(): number;
/**
* collide size of `tryInvokeEvent` (default: 0.5)
*
* The larger this value, the greater the range of event invocation
*
* The default is to match the tile size of 1x1
*/
set collideSize(value: number);
}