@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
183 lines • 3.86 kB
TypeScript
/**
* 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