UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

183 lines 3.86 kB
/** * Wrapper around a scalar value, `Vector1` is used for consistence with {@link Vector2} and {@link Vector3} * * @author Alex Goldring * @copyright Company Named Limited (c) 2025 */ export class Vector1 extends Number { /** * * @param {Vector1} a * @param {Vector1} b * @return {number} */ static compare(a: Vector1, b: Vector1): number; /** * * @param {number} [x=0] * @constructor * @class * @property {number} x */ constructor(x?: number); x: number; /** * * @type {Signal<number,number>} */ onChanged: Signal<number, number>; /** * * @returns {string} */ toString(): string; /** * Currently held value * @returns {number} */ getValue(): number; /** * Useful for sorting * @param {Vector1} other * @returns {number} */ compareTo(other: Vector1): number; /** * * @param {number} x * @returns {Vector1} */ set(x: number): Vector1; /** * Set value without triggering {@link #onChanged} signal * @param {number} x */ setSilent(x: number): void; /** * * @return {boolean} */ isZero(): boolean; /** * Increase value by 1. * `value++` */ increment(): void; /** * Decrease value by 1. * `value--` */ decrement(): void; /** * * @param {Number} v * @return {Vector1} */ _add(v: number): Vector1; /** * * @param {Vector1|Vector2|Vector3|Vector4} other */ add(other: Vector1 | Vector2 | Vector3 | Vector4): Vector1; /** * * @param {Number} v * @return {Vector1} */ _sub(v: number): Vector1; /** * * @param {Vector1} other * @returns {Vector1} */ sub(other: Vector1): Vector1; /** * * @param {Vector1} other * @returns {Vector1} */ multiply(other: Vector1): Vector1; /** * * @param {number} v */ multiplyScalar(v: number): void; /** * * @param {number} low * @param {number} high * @returns {Vector1} */ clamp(low: number, high: number): Vector1; /** * Negate sign of the value, if value is 7, it will become -7 and vice versa * Zero is unaffected */ negate(): void; /** * * @param {Vector1|Vector2|Vector3|Vector4} other */ copy(other: Vector1 | Vector2 | Vector3 | Vector4): void; /** * * @returns {Vector1} */ clone(): Vector1; /** * * @param {Vector1} other * @returns {boolean} */ equals(other: Vector1): boolean; /** * @returns {number} */ hash(): number; /** * * @param {function(newValue:number, oldValue:number)} handler */ process(handler: any): void; toJSON(): number; fromJSON(val: any): void; /** * * @param {number[]} array * @param {number} offset */ readFromArray(array: number[], offset?: number): void; /** * * @param {number[]} array * @param {number} offset */ writeToArray(array: number[], offset?: number): void; asArray(): number[]; /** * * @param {BinaryBuffer} buffer */ toBinaryBuffer(buffer: BinaryBuffer): void; /** * * @param {BinaryBuffer} buffer */ fromBinaryBuffer(buffer: BinaryBuffer): void; set 0(arg: number); get 0(): number; /** * @readonly * @type {boolean} */ readonly isVector1: boolean; [Symbol.iterator](): Generator<number, void, unknown>; } export namespace Vector1 { let typeName: string; let zero: Vector1; let one: Vector1; } export default Vector1; import Signal from "../events/signal/Signal.js"; //# sourceMappingURL=Vector1.d.ts.map