phaser3-rex-plugins
Version:
175 lines (162 loc) • 3.76 kB
TypeScript
import TickTask from '../../utils/componentbase/TickTask';
export default EightDirection;
declare namespace EightDirection {
/**
* Direction mode identifiers.
*/
type DirectionModeType = 0 | 1 | 2 | 3 | 'up&down' | 'left&right' | '4dir' | '8dir';
/**
* Cursor key set.
*/
type CursorKeys = {
/**
* Up key.
*/
up: Phaser.Input.Keyboard.Key,
/**
* Down key.
*/
down: Phaser.Input.Keyboard.Key,
/**
* Left key.
*/
left: Phaser.Input.Keyboard.Key,
/**
* Right key.
*/
right: Phaser.Input.Keyboard.Key
}
/**
* EightDirection configuration.
*/
interface IConfig {
/**
* Move speed.
*/
speed?: number,
/**
* Direction mode.
*/
dir?: DirectionModeType,
/**
* True to rotate toward direction.
*/
rotateToDirection?: boolean,
/**
* True to enable.
*/
enable?: boolean,
/**
* True to wrap at bounds.
*/
wrap?: boolean,
/**
* Padding for wrapping.
*/
padding?: number,
/**
* Cursor keys.
*/
cursorKeys?: CursorKeys
}
}
/**
* Eight-direction movement component.
*/
declare class EightDirection extends TickTask {
/**
* Create an EightDirection component.
* @param gameObject - Target game object.
* @param config - EightDirection configuration.
*/
constructor(
gameObject: Phaser.GameObjects.GameObject,
config?: EightDirection.IConfig
);
/**
* Enable or disable the component.
* @param enable - True to enable.
* @returns This instance.
*/
setEnable(enable?: boolean): this;
/**
* True if enabled.
*/
enable: boolean;
/**
* Set cursor keys.
* @param cursorKeys - Cursor keys set.
* @returns This instance.
*/
setCursorKeys(
cursorKeys: EightDirection.CursorKeys
): this;
/**
* Cursor keys set.
*/
cursorKeys: EightDirection.CursorKeys;
/**
* Set move speed.
* @param speed - Speed value.
* @returns This instance.
*/
setSpeed(speed: number): this;
/**
* Move speed value.
*/
speed: number;
/**
* Enable or disable rotate to target.
* @param enable - True to rotate to target.
* @returns This instance.
*/
setRotateToTarget(enable?: boolean): this;
/**
* True to rotate to target.
*/
rotateToTarget: boolean;
/**
* Set direction mode.
* @param dir - Direction mode.
* @returns This instance.
*/
setDirMode(dir: EightDirection.DirectionModeType): this;
/**
* Direction mode value.
*/
dirMode: number;
/**
* Set wrap mode.
* @param wrap - True to enable wrap.
* @param padding - Wrap padding.
* @returns This instance.
*/
setWrapMode(
wrap?: boolean,
padding?: number
): this;
/**
* True if wrap mode is enabled.
*/
wrap: boolean;
/**
* Wrap padding value.
*/
padding: number;
/**
* True if moving left.
*/
readonly isLeft: boolean;
/**
* True if moving right.
*/
readonly isRight: boolean;
/**
* True if moving up.
*/
readonly isUp: boolean;
/**
* True if moving down.
*/
readonly isDown: boolean;
}