UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

56 lines (44 loc) 2.62 kB
export default class Signal<A = any, B = any, C = any, D = any, E = any, F = any, G = any, H = any> { add(listener: () => any, thisArg?: any): void add(listener: (a: A) => any, thisArg?: any): void add(listener: (a: A, b: B) => any, thisArg?: any): void add(listener: (a: A, b: B, c: C) => any, thisArg?: any): void add(listener: (a: A, b: B, c: C, d: D) => any, thisArg?: any): void add(listener: (a: A, b: B, c: C, d: D, e: E) => any, thisArg?: any): void add(listener: (a: A, b: B, c: C, d: D, e: E, f: F) => any, thisArg?: any): void add(listener: (a: A, b: B, c: C, d: D, e: E, f: F, g: G) => any, thisArg?: any): void add(listener: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) => any, thisArg?: any): void addOne(listener: () => any, thisArg?: any): void addOne(listener: (a: A) => any, thisArg?: any): void addOne(listener: (a: A, b: B) => any, thisArg?: any): void addOne(listener: (a: A, b: B, c: C) => any, thisArg?: any): void addOne(listener: (a: A, b: B, c: C, d: D) => any, thisArg?: any): void addOne(listener: (a: A, b: B, c: C, d: D, e: E) => any, thisArg?: any): void addOne(listener: (a: A, b: B, c: C, d: D, e: E, f: F) => any, thisArg?: any): void addOne(listener: (a: A, b: B, c: C, d: D, e: E, f: F, g: G) => any, thisArg?: any): void addOne(listener: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) => any, thisArg?: any): void remove(listener: () => any, thisArg?: any): void remove(listener: (a: A) => any, thisArg?: any): void remove(listener: (a: A, b: B) => any, thisArg?: any): void remove(listener: (a: A, b: B, c: C) => any, thisArg?: any): void remove(listener: (a: A, b: B, c: C, d: D) => any, thisArg?: any): void remove(listener: (a: A, b: B, c: C, d: D, e: E) => any, thisArg?: any): void remove(listener: (a: A, b: B, c: C, d: D, e: E, f: F) => any, thisArg?: any): void remove(listener: (a: A, b: B, c: C, d: D, e: E, f: F, g: G) => any, thisArg?: any): void remove(listener: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) => any, thisArg?: any): void send0(): void send1(a: A): void send2(a: A, b: B): void send3(a: A, b: B, c: C): void send4(a: A, b: B, c: C, d: D): void send6(a: A, b: B, c: C, d: D, e: E, f: F): void send8(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): void /** * Prefer strongly typed dispatch methods instead (send0, send1 etc) */ dispatch(...params: any[]): void /** * @deprecated */ removeAll(): void }