8 lines
279 KiB
Text
8 lines
279 KiB
Text
|
{
|
||
|
"version": 3,
|
||
|
"sources": ["../node_modules/kaboom/src/utils.ts", "../node_modules/kaboom/src/math.ts", "../node_modules/kaboom/src/fps.ts", "../node_modules/kaboom/src/timer.ts", "../node_modules/kaboom/src/kaboom.ts", "../code/main.js"],
|
||
|
"sourcesContent": ["export class IDList<T> extends Map<number, T> {\n\t_lastID: number;\n\tconstructor(...args) {\n\t\tsuper(...args);\n\t\tthis._lastID = 0;\n\t}\n\tpush(v: T): number {\n\t\tconst id = this._lastID;\n\t\tthis.set(id, v);\n\t\tthis._lastID++;\n\t\treturn id;\n\t}\n\tpushd(v: T): () => void {\n\t\tconst id = this.push(v);\n\t\treturn () => this.delete(id);\n\t}\n}\n\nexport function deepEq(o1: any, o2: any): boolean {\n\tconst t1 = typeof o1;\n\tconst t2 = typeof o2;\n\tif (t1 !== t2) {\n\t\treturn false;\n\t}\n\tif (t1 === \"object\" && t2 === \"object\") {\n\t\tconst k1 = Object.keys(o1);\n\t\tconst k2 = Object.keys(o2);\n\t\tif (k1.length !== k2.length) {\n\t\t\treturn false;\n\t\t}\n\t\tfor (const k of k1) {\n\t\t\tconst v1 = o1[k];\n\t\t\tconst v2 = o2[k];\n\t\t\tif (!(typeof v1 === \"function\" && typeof v2 === \"function\")) {\n\t\t\t\tif (!deepEq(v1, v2)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\treturn o1 === o2;\n}\n\nexport function downloadURL(url: string, filename: string) {\n\tconst a = document.createElement(\"a\");\n\tdocument.body.appendChild(a);\n\ta.setAttribute(\"style\", \"display: none\");\n\ta.href = url;\n\ta.download = filename;\n\ta.click();\n\tdocument.body.removeChild(a);\n}\n\nexport function downloadBlob(blob: Blob, filename: string) {\n\tconst url = URL.createObjectURL(blob);\n\tdownloadURL(url, filename);\n\tURL.revokeObjectURL(url);\n}\n\nexport function isDataURL(str: string) {\n\treturn str.match(/^data:\\w+\\/\\w+;base64,.+/);\n}\n\nexport const uid = (() => {\n\tlet id = 0;\n\treturn () => id++;\n})();\n\nconst warned = new Set();\n\nexport function deprecateMsg(oldName: string, newName: string) {\n\tif (!warned.has(oldName)) {\n\t\twarned.add(oldName);\n\t\tconsole.warn(`${oldName} is deprecated. Use ${newName} instead.`);\n\t}\n}\n\nexport const deprecate = (oldName: string, newName: string, newFunc: (...args) => any) => (...args) => {\n\tdeprecateMsg(oldName, newName);\n\treturn newFunc(...args);\n};\n", "import {\n\tVec4,\n\tPoint,\n\tPolygon,\n\tArea,\n} from \"./types\";\n\nimport {\n\tdeprecateMsg,\n} from \"./utils\";\n\nexport function deg2rad(deg: number): number {\n\treturn deg * Math.PI / 180;\n}\n\nexport function rad2deg(rad: number): number {\n\treturn rad * 180 / Math.PI;\n}\n\nexport function clamp(\n\tval: number,\n\tmin: number,\n\tmax: number,\n): number {\n\tif (min > max) {\n\t\treturn clamp(val, max, min);\n\t}\n\treturn Math.min(Math.max(val, min), max);\n}\n\nexport function lerp(\n\ta: number,\n\tb: number,\n\tt: number,\n): number {\n\treturn a + (b - a) * t;\n}\n\nexport function map(\n\tv: number,\n\tl1: number,\n\th1: number,\n\tl2: number,\n\th2: number,\n): number {\n\treturn l2 + (v - l1) / (h1 - l1) * (h2 - l2);\n}\n\nexport function mapc(\n\tv: number,\n\tl1: number,\n\th1: number,\n\tl2: number,\n\th2: number,\n): number {\n\treturn clamp(map(v, l1, h1, l2, h2), l2, h2);\n}\n\nexport class Vec2 {\n\tx: number = 0;\n\ty: number = 0;\n\tconstructor(x: number = 0, y: number = x) {\n\t\tthis.x = x;\n\t\tthis.y = y;\n\t}\n\tstatic fromAngle(deg: number) {\n\t\tconst angle = deg2rad(deg);\n\t\treturn new Vec2(Math.cos(angle), Math.sin(angle));\n\t}\n\tstatic LEFT = new Vec2(-1, 0);\n\tstatic RIGHT = new Vec2(1, 0);\n\tstatic UP = new Vec2(0, -1);\n\tstatic DOWN = new Vec2(0, 1);\n\tclone(): Vec2 {\n\t\treturn new Vec2(this.x, this.y);\n\t}\n\tadd(...args): Vec2 {\n\t\tconst p2 = vec2(...args);\n\t\treturn new Vec2(this.x + p2.x, this.y + p2.y);\n\t}\n\tsub(...args): Vec2 {\n\t\tconst p2 = vec2(...args);\n\t\treturn new Vec2(this.x - p2.x, this.y - p2.y);\n\t}\n\tscale(...args): Vec2 {\n\t\tconst s = vec2(...args);\n\t\treturn new Vec2(this.x * s.x, this.y * s.y);\n\t}\n\tdist(...args): number {\n\t\tconst p2 = vec2(...args);\n\t\treturn Math.sqrt(\n\t\t\t(this.x - p2.x) * (this.x - p2.x)\n\t\t\t+ (this.y - p2.y) * (this.y - p2.y)\n\t\t);\n\t}\n\tlen(): number {\n\t\treturn this.dist(new Vec2(0, 0));\n\t}\n\tunit(): Vec2 {\n\t\treturn this.scale(1 / this.len());\n\t}\n\tnormal(): Vec2 {\n\t\treturn n
|
||
|
"mappings": "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
|
||
|
"names": []
|
||
|
}
|