phaser3-rex-plugins
Version:
171 lines (155 loc) • 3.79 kB
TypeScript
import TickTask from '../../utils/componentbase/TickTask';
export default ShakePosition;
declare namespace ShakePosition {
/**
* Shake mode identifiers.
*/
type ModeType = 0 | 1 | 'effect' | 'behavior';
/**
* Magnitude mode identifiers.
*/
type MagnitudeModeType = 0 | 1 | 'constant' | 'decay';
/**
* Axis mode identifiers.
*/
type AixsModeType = 0 | 1 | 2 | 'both' | 'h&v' | 'horizontal' | 'h' | 'vertical' | 'v';
/**
* ShakePosition configuration.
*/
interface IConfig {
/**
* Shake mode.
*/
mode?: ModeType,
/**
* Duration in ms.
*/
duration?: number,
/**
* Shake magnitude.
*/
magnitude?: number,
/**
* Magnitude mode.
*/
magnitudeMode?: MagnitudeModeType,
/**
* Axis mode.
*/
axis?: AixsModeType,
}
namespace Events {
/**
* Complete callback.
*/
type CompleteCallbackType = (
/**
* Target game object.
*/
gameObject: Phaser.GameObjects.GameObject,
/**
* ShakePosition component.
*/
shake: ShakePosition
) => void;
}
}
/**
* Shake position effect component.
*/
declare class ShakePosition extends TickTask {
/**
* Create a ShakePosition component.
* @param gameObject - Target game object.
* @param config - ShakePosition configuration.
*/
constructor(
gameObject: Phaser.GameObjects.GameObject,
config?: ShakePosition.IConfig
);
/**
* Enable or disable the component.
* @param enable - True to enable.
* @returns This instance.
*/
setEnable(enable?: boolean): this;
/**
* True if enabled.
*/
enable: boolean;
/**
* Trigger a shake.
* @param duration - Duration in ms.
* @param magnitude - Shake magnitude.
* @returns This instance.
*/
shake(
duration?: number,
magnitude?: number
): this;
/**
* Trigger a shake with config.
* @param config - Shake configuration.
* @returns This instance.
*/
shake(config: {
/**
* Duration in ms.
*/
duration?: number,
/**
* Shake magnitude.
*/
magnitude?: number,
}): this;
/**
* Set shake mode.
* @param mode - Mode identifier.
* @returns This instance.
*/
setMode(mode: ShakePosition.ModeType): this;
/**
* Current mode value.
*/
mode: number;
/**
* Set duration.
* @param duration - Duration in ms.
* @returns This instance.
*/
setDuration(duration: number): this;
/**
* Duration in ms.
*/
duration: number;
/**
* Set magnitude.
* @param magnitude - Magnitude value.
* @returns This instance.
*/
setMagnitude(magnitude: number): this;
/**
* Magnitude value.
*/
magnitude: number;
/**
* Set magnitude mode.
* @param magnitudeMode - Magnitude mode.
* @returns This instance.
*/
setMagnitudeMode(magnitudeMode: ShakePosition.MagnitudeModeType): this;
/**
* Magnitude mode value.
*/
magnitudeMode: number;
/**
* Set axis mode.
* @param axisMode - Axis mode.
* @returns This instance.
*/
setAxisMode(axisMode: ShakePosition.AixsModeType): this;
/**
* Axis mode value.
*/
axisMode: number;
}