like2d 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +67 -43
- package/dist/adapters/callback/index.d.ts +43 -0
- package/dist/adapters/callback/index.d.ts.map +1 -0
- package/dist/adapters/callback/index.js +80 -0
- package/dist/adapters/scene/index.d.ts +42 -0
- package/dist/adapters/scene/index.d.ts.map +1 -0
- package/dist/adapters/scene/index.js +112 -0
- package/dist/adapters/scene/scene.d.ts +18 -0
- package/dist/adapters/scene/scene.d.ts.map +1 -0
- package/dist/adapters/scene/startup-scene.d.ts +17 -0
- package/dist/adapters/scene/startup-scene.d.ts.map +1 -0
- package/dist/adapters/scene/startup-scene.js +41 -0
- package/dist/core/audio.d.ts +61 -0
- package/dist/core/audio.d.ts.map +1 -0
- package/dist/core/audio.js +226 -0
- package/dist/core/canvas-config.d.ts +22 -0
- package/dist/core/canvas-config.d.ts.map +1 -0
- package/dist/core/canvas-config.js +14 -0
- package/dist/core/canvas-manager.d.ts +26 -0
- package/dist/core/canvas-manager.d.ts.map +1 -0
- package/dist/core/canvas-manager.js +197 -0
- package/dist/core/events.d.ts +52 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/gamepad-button-map.d.ts.map +1 -0
- package/dist/core/gamepad-buttons.d.ts +23 -0
- package/dist/core/gamepad-buttons.d.ts.map +1 -0
- package/dist/core/gamepad-buttons.js +36 -0
- package/dist/core/gamepad-db.d.ts.map +1 -0
- package/dist/{gamepad-mapping.d.ts → core/gamepad-mapping.d.ts} +3 -15
- package/dist/core/gamepad-mapping.d.ts.map +1 -0
- package/dist/core/gamepad-mapping.js +223 -0
- package/dist/{gamepad.d.ts → core/gamepad.d.ts} +22 -17
- package/dist/core/gamepad.d.ts.map +1 -0
- package/dist/{gamepad.js → core/gamepad.js} +91 -70
- package/dist/{graphics.d.ts → core/graphics.d.ts} +2 -8
- package/dist/core/graphics.d.ts.map +1 -0
- package/dist/{graphics.js → core/graphics.js} +4 -41
- package/dist/core/input-state.d.ts.map +1 -0
- package/dist/{input.d.ts → core/input.d.ts} +11 -14
- package/dist/core/input.d.ts.map +1 -0
- package/dist/{input.js → core/input.js} +31 -41
- package/dist/core/keyboard.d.ts +15 -0
- package/dist/core/keyboard.d.ts.map +1 -0
- package/dist/core/keyboard.js +70 -0
- package/dist/core/mouse.d.ts +29 -0
- package/dist/core/mouse.d.ts.map +1 -0
- package/dist/core/mouse.js +130 -0
- package/dist/{rect.d.ts → core/rect.d.ts} +1 -2
- package/dist/core/rect.d.ts.map +1 -0
- package/dist/{rect.js → core/rect.js} +24 -28
- package/dist/{timer.d.ts → core/timer.d.ts} +0 -1
- package/dist/core/timer.d.ts.map +1 -0
- package/dist/{timer.js → core/timer.js} +0 -1
- package/dist/{vector2.d.ts → core/vector2.d.ts} +4 -10
- package/dist/core/vector2.d.ts.map +1 -0
- package/dist/{vector2.js → core/vector2.js} +40 -40
- package/dist/engine.d.ts +42 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +154 -0
- package/dist/index.d.ts +38 -44
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -250
- package/package.json +8 -23
- package/dist/audio.d.ts +0 -52
- package/dist/audio.d.ts.map +0 -1
- package/dist/audio.js +0 -250
- package/dist/events.d.ts +0 -36
- package/dist/events.d.ts.map +0 -1
- package/dist/gamepad-button-map.d.ts.map +0 -1
- package/dist/gamepad-db.d.ts.map +0 -1
- package/dist/gamepad-mapping.d.ts.map +0 -1
- package/dist/gamepad-mapping.js +0 -191
- package/dist/gamepad.d.ts.map +0 -1
- package/dist/graphics.d.ts.map +0 -1
- package/dist/input-state.d.ts.map +0 -1
- package/dist/input.d.ts.map +0 -1
- package/dist/keyboard.d.ts +0 -9
- package/dist/keyboard.d.ts.map +0 -1
- package/dist/keyboard.js +0 -33
- package/dist/mouse.d.ts +0 -20
- package/dist/mouse.d.ts.map +0 -1
- package/dist/mouse.js +0 -84
- package/dist/rect.d.ts.map +0 -1
- package/dist/scene.d.ts +0 -10
- package/dist/scene.d.ts.map +0 -1
- package/dist/timer.d.ts.map +0 -1
- package/dist/vector2.d.ts.map +0 -1
- /package/dist/{scene.js → adapters/scene/scene.js} +0 -0
- /package/dist/{events.js → core/events.js} +0 -0
- /package/dist/{gamepad-button-map.d.ts → core/gamepad-button-map.d.ts} +0 -0
- /package/dist/{gamepad-button-map.js → core/gamepad-button-map.js} +0 -0
- /package/dist/{gamepad-db.d.ts → core/gamepad-db.d.ts} +0 -0
- /package/dist/{gamepad-db.js → core/gamepad-db.js} +0 -0
- /package/dist/{input-state.d.ts → core/input-state.d.ts} +0 -0
- /package/dist/{input-state.js → core/input-state.js} +0 -0
package/dist/gamepad-mapping.js
DELETED
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
// Gamepad button mapping layer
|
|
2
|
-
// Bridges SDL database mappings with our internal button naming system
|
|
3
|
-
import { gamepadDatabase } from './gamepad-db';
|
|
4
|
-
import { getButtonIndex } from './gamepad-button-map';
|
|
5
|
-
// Map SDL button names to our internal button names
|
|
6
|
-
const SDL_TO_INTERNAL_BUTTON = {
|
|
7
|
-
// Face buttons
|
|
8
|
-
'a': 'ButtonBottom',
|
|
9
|
-
'b': 'ButtonRight',
|
|
10
|
-
'x': 'ButtonLeft',
|
|
11
|
-
'y': 'ButtonTop',
|
|
12
|
-
// Bumpers and triggers
|
|
13
|
-
'leftshoulder': 'LB',
|
|
14
|
-
'rightshoulder': 'RB',
|
|
15
|
-
'lefttrigger': 'LT',
|
|
16
|
-
'righttrigger': 'RT',
|
|
17
|
-
// Menu buttons
|
|
18
|
-
'back': 'Back',
|
|
19
|
-
'start': 'Start',
|
|
20
|
-
'guide': 'Guide',
|
|
21
|
-
// Stick presses
|
|
22
|
-
'leftstick': 'LS',
|
|
23
|
-
'rightstick': 'RS',
|
|
24
|
-
// D-Pad
|
|
25
|
-
'dpup': 'DPadUp',
|
|
26
|
-
'dpdown': 'DPadDown',
|
|
27
|
-
'dpleft': 'DPadLeft',
|
|
28
|
-
'dpright': 'DPadRight',
|
|
29
|
-
// Misc buttons
|
|
30
|
-
'misc1': 'Misc1',
|
|
31
|
-
'misc2': 'Misc2',
|
|
32
|
-
'paddle1': 'Paddle1',
|
|
33
|
-
'paddle2': 'Paddle2',
|
|
34
|
-
'paddle3': 'Paddle3',
|
|
35
|
-
'paddle4': 'Paddle4',
|
|
36
|
-
'touchpad': 'Touchpad',
|
|
37
|
-
};
|
|
38
|
-
export class GamepadMapping {
|
|
39
|
-
constructor() {
|
|
40
|
-
Object.defineProperty(this, "mappings", {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
configurable: true,
|
|
43
|
-
writable: true,
|
|
44
|
-
value: new Map()
|
|
45
|
-
});
|
|
46
|
-
Object.defineProperty(this, "dbLoaded", {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true,
|
|
49
|
-
writable: true,
|
|
50
|
-
value: false
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
async loadDatabase() {
|
|
54
|
-
if (this.dbLoaded)
|
|
55
|
-
return;
|
|
56
|
-
const sources = ['/like/gamecontrollerdb.txt', './gamecontrollerdb.txt'];
|
|
57
|
-
for (const src of sources) {
|
|
58
|
-
try {
|
|
59
|
-
const res = await fetch(src);
|
|
60
|
-
if (res.ok) {
|
|
61
|
-
gamepadDatabase.load(await res.text());
|
|
62
|
-
this.dbLoaded = true;
|
|
63
|
-
break;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
catch { }
|
|
67
|
-
}
|
|
68
|
-
if (!this.dbLoaded) {
|
|
69
|
-
try {
|
|
70
|
-
// @ts-ignore - Vite handles ?raw imports
|
|
71
|
-
const module = await import('./gamecontrollerdb.txt?raw');
|
|
72
|
-
if (typeof module.default === 'string') {
|
|
73
|
-
gamepadDatabase.load(module.default);
|
|
74
|
-
this.dbLoaded = true;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
catch { }
|
|
78
|
-
}
|
|
79
|
-
if (this.dbLoaded) {
|
|
80
|
-
console.log(`[Gamepad] Loaded ${gamepadDatabase.getMappingCount()} controller mappings`);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Load database from raw text content
|
|
85
|
-
*/
|
|
86
|
-
loadDatabaseFromText(content) {
|
|
87
|
-
gamepadDatabase.load(content);
|
|
88
|
-
this.dbLoaded = true;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Get or create a button mapping for a specific gamepad
|
|
92
|
-
*/
|
|
93
|
-
getMapping(gamepad) {
|
|
94
|
-
// Use the gamepad's id as a key (this contains the GUID in most browsers)
|
|
95
|
-
const key = `${gamepad.id}_${gamepad.index}`;
|
|
96
|
-
if (this.mappings.has(key)) {
|
|
97
|
-
return this.mappings.get(key);
|
|
98
|
-
}
|
|
99
|
-
const mapping = this.createMapping(gamepad);
|
|
100
|
-
this.mappings.set(key, mapping);
|
|
101
|
-
return mapping;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Clear all cached mappings
|
|
105
|
-
*/
|
|
106
|
-
clear() {
|
|
107
|
-
this.mappings.clear();
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Create a new button mapping for a gamepad
|
|
111
|
-
*/
|
|
112
|
-
createMapping(gamepad) {
|
|
113
|
-
const toStandard = new Map();
|
|
114
|
-
const fromStandard = new Map();
|
|
115
|
-
// If browser provides "standard" mapping, trust it - don't override with DB
|
|
116
|
-
if (gamepad.mapping === 'standard') {
|
|
117
|
-
for (let i = 0; i < gamepad.buttons.length; i++) {
|
|
118
|
-
toStandard.set(i, i);
|
|
119
|
-
fromStandard.set(i, i);
|
|
120
|
-
}
|
|
121
|
-
return {
|
|
122
|
-
toStandard,
|
|
123
|
-
fromStandard,
|
|
124
|
-
controllerName: gamepad.id,
|
|
125
|
-
hasMapping: true,
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
// Try to find a mapping in the database
|
|
129
|
-
const dbMapping = this.findDatabaseMapping(gamepad);
|
|
130
|
-
if (dbMapping) {
|
|
131
|
-
for (const [sdlButton, controllerButtonIndex] of dbMapping.buttons) {
|
|
132
|
-
const internalName = SDL_TO_INTERNAL_BUTTON[sdlButton];
|
|
133
|
-
if (internalName) {
|
|
134
|
-
const standardIndex = getButtonIndex(internalName);
|
|
135
|
-
if (standardIndex !== undefined) {
|
|
136
|
-
toStandard.set(controllerButtonIndex, standardIndex);
|
|
137
|
-
fromStandard.set(standardIndex, controllerButtonIndex);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return {
|
|
142
|
-
toStandard,
|
|
143
|
-
fromStandard,
|
|
144
|
-
controllerName: dbMapping.name,
|
|
145
|
-
hasMapping: true,
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
// No database mapping found - use default layout
|
|
149
|
-
for (let i = 0; i < gamepad.buttons.length; i++) {
|
|
150
|
-
toStandard.set(i, i);
|
|
151
|
-
fromStandard.set(i, i);
|
|
152
|
-
}
|
|
153
|
-
return {
|
|
154
|
-
toStandard,
|
|
155
|
-
fromStandard,
|
|
156
|
-
controllerName: gamepad.id,
|
|
157
|
-
hasMapping: false,
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
findDatabaseMapping(gamepad) {
|
|
161
|
-
if (!this.dbLoaded)
|
|
162
|
-
return undefined;
|
|
163
|
-
const vp = this.extractVendorProduct(gamepad);
|
|
164
|
-
if (vp) {
|
|
165
|
-
return gamepadDatabase.getMappingByVendorProduct(vp.vendor, vp.product);
|
|
166
|
-
}
|
|
167
|
-
return undefined;
|
|
168
|
-
}
|
|
169
|
-
extractVendorProduct(gamepad) {
|
|
170
|
-
const id = gamepad.id;
|
|
171
|
-
const vendorProductMatch = id.match(/Vendor:\s*([0-9a-fA-F]+)\s+Product:\s*([0-9a-fA-F]+)/i);
|
|
172
|
-
if (vendorProductMatch) {
|
|
173
|
-
const vendor = parseInt(vendorProductMatch[1], 16);
|
|
174
|
-
const product = parseInt(vendorProductMatch[2], 16);
|
|
175
|
-
if (!isNaN(vendor) && !isNaN(product)) {
|
|
176
|
-
return { vendor, product };
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
const hexMatch = id.match(/^([0-9a-fA-F]{4})[\s-]+([0-9a-fA-F]{4})/);
|
|
180
|
-
if (hexMatch) {
|
|
181
|
-
const vendor = parseInt(hexMatch[1], 16);
|
|
182
|
-
const product = parseInt(hexMatch[2], 16);
|
|
183
|
-
if (!isNaN(vendor) && !isNaN(product)) {
|
|
184
|
-
return { vendor, product };
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
return null;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
// Singleton instance
|
|
191
|
-
export const gamepadMapping = new GamepadMapping();
|
package/dist/gamepad.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gamepad.d.ts","sourceRoot":"","sources":["../src/gamepad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAkB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;AAEzC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAkBD,qBAAa,OAAO;IAClB,OAAO,CAAC,cAAc,CAAgD;IACtE,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,cAAc,CAAoC;;IAMpD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,mBAAmB;IA6B3B,MAAM,IAAI;QAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAA;KAAE;IA0D3E,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAI1C;;;OAGG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAOpE,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IASnD,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAKpD,oBAAoB,IAAI,MAAM,EAAE;IAIhC;;OAEG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,GAAG,SAAS;IAIhE;;OAEG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIjE;;OAEG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAKzC;;OAEG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK3D,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAMxD,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa;IAMjD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa;CAKnD;AAED,eAAO,MAAM,OAAO,SAAgB,CAAC"}
|
package/dist/graphics.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"graphics.d.ts","sourceRoot":"","sources":["../src/graphics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-state.d.ts","sourceRoot":"","sources":["../src/input-state.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAiB,CAAC,CAAC;IAC9B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,SAAS,CAAgB;IAEjC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAAC,YAAY,EAAE,CAAC,EAAE,CAAA;KAAE;IAuBpE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIvB,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAI5B,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAI7B,eAAe,IAAI,GAAG,CAAC,CAAC,CAAC;IAIzB,KAAK,IAAI,IAAI;CAId"}
|
package/dist/input.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAaD,qBAAa,KAAK;IAChB,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,kBAAkB,CAAmC;IAE7D,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAK3C,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK3B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAO/B,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIpC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIrC,MAAM,IAAI;QACR,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,cAAc,EAAE,KAAK,CAAC;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjH,eAAe,EAAE,KAAK,CAAC;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACnH;IAqBD,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,eAAe;IA6BvB,KAAK,IAAI,IAAI;CAId;AAED,eAAO,MAAM,KAAK,OAAc,CAAC"}
|
package/dist/keyboard.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare class Keyboard {
|
|
2
|
-
private pressedScancodes;
|
|
3
|
-
constructor();
|
|
4
|
-
private setupEventListeners;
|
|
5
|
-
isDown(scancode: string): boolean;
|
|
6
|
-
isAnyDown(...scancodes: string[]): boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare const keyboard: Keyboard;
|
|
9
|
-
//# sourceMappingURL=keyboard.d.ts.map
|
package/dist/keyboard.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;IACnB,OAAO,CAAC,gBAAgB,CAAqB;;IAM7C,OAAO,CAAC,mBAAmB;IAkB3B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIjC,SAAS,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO;CAG3C;AAED,eAAO,MAAM,QAAQ,UAAiB,CAAC"}
|
package/dist/keyboard.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export class Keyboard {
|
|
2
|
-
constructor() {
|
|
3
|
-
Object.defineProperty(this, "pressedScancodes", {
|
|
4
|
-
enumerable: true,
|
|
5
|
-
configurable: true,
|
|
6
|
-
writable: true,
|
|
7
|
-
value: new Set()
|
|
8
|
-
});
|
|
9
|
-
this.setupEventListeners();
|
|
10
|
-
}
|
|
11
|
-
setupEventListeners() {
|
|
12
|
-
window.addEventListener('keydown', (e) => {
|
|
13
|
-
if (e.code) {
|
|
14
|
-
this.pressedScancodes.add(e.code);
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
window.addEventListener('keyup', (e) => {
|
|
18
|
-
if (e.code) {
|
|
19
|
-
this.pressedScancodes.delete(e.code);
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
window.addEventListener('blur', () => {
|
|
23
|
-
this.pressedScancodes.clear();
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
isDown(scancode) {
|
|
27
|
-
return this.pressedScancodes.has(scancode);
|
|
28
|
-
}
|
|
29
|
-
isAnyDown(...scancodes) {
|
|
30
|
-
return scancodes.some(code => this.pressedScancodes.has(code));
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
export const keyboard = new Keyboard();
|
package/dist/mouse.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { Vector2 } from './vector2';
|
|
2
|
-
export declare class Mouse {
|
|
3
|
-
private x;
|
|
4
|
-
private y;
|
|
5
|
-
private buttons;
|
|
6
|
-
private canvas;
|
|
7
|
-
constructor();
|
|
8
|
-
setCanvas(canvas: HTMLCanvasElement): void;
|
|
9
|
-
private setupEventListeners;
|
|
10
|
-
getPosition(): Vector2;
|
|
11
|
-
getX(): number;
|
|
12
|
-
getY(): number;
|
|
13
|
-
isDown(button: number): boolean;
|
|
14
|
-
getPressedButtons(): Set<number>;
|
|
15
|
-
isVisible(): boolean;
|
|
16
|
-
setVisible(visible: boolean): void;
|
|
17
|
-
getRelativeMode(): boolean;
|
|
18
|
-
}
|
|
19
|
-
export declare const mouse: Mouse;
|
|
20
|
-
//# sourceMappingURL=mouse.d.ts.map
|
package/dist/mouse.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../src/mouse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,qBAAa,KAAK;IAChB,OAAO,CAAC,CAAC,CAAK;IACd,OAAO,CAAC,CAAC,CAAK;IACd,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAkC;;IAMhD,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAI1C,OAAO,CAAC,mBAAmB;IAyB3B,WAAW,IAAI,OAAO;IAItB,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,MAAM;IAId,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI/B,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC;IAIhC,SAAS,IAAI,OAAO;IAIpB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQlC,eAAe,IAAI,OAAO;CAG3B;AAED,eAAO,MAAM,KAAK,OAAc,CAAC"}
|
package/dist/mouse.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
export class Mouse {
|
|
2
|
-
constructor() {
|
|
3
|
-
Object.defineProperty(this, "x", {
|
|
4
|
-
enumerable: true,
|
|
5
|
-
configurable: true,
|
|
6
|
-
writable: true,
|
|
7
|
-
value: 0
|
|
8
|
-
});
|
|
9
|
-
Object.defineProperty(this, "y", {
|
|
10
|
-
enumerable: true,
|
|
11
|
-
configurable: true,
|
|
12
|
-
writable: true,
|
|
13
|
-
value: 0
|
|
14
|
-
});
|
|
15
|
-
Object.defineProperty(this, "buttons", {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
configurable: true,
|
|
18
|
-
writable: true,
|
|
19
|
-
value: new Set()
|
|
20
|
-
});
|
|
21
|
-
Object.defineProperty(this, "canvas", {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
configurable: true,
|
|
24
|
-
writable: true,
|
|
25
|
-
value: null
|
|
26
|
-
});
|
|
27
|
-
this.setupEventListeners();
|
|
28
|
-
}
|
|
29
|
-
setCanvas(canvas) {
|
|
30
|
-
this.canvas = canvas;
|
|
31
|
-
}
|
|
32
|
-
setupEventListeners() {
|
|
33
|
-
window.addEventListener('mousemove', (e) => {
|
|
34
|
-
if (this.canvas) {
|
|
35
|
-
const rect = this.canvas.getBoundingClientRect();
|
|
36
|
-
this.x = e.clientX - rect.left;
|
|
37
|
-
this.y = e.clientY - rect.top;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.x = e.clientX;
|
|
41
|
-
this.y = e.clientY;
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
window.addEventListener('mousedown', (e) => {
|
|
45
|
-
this.buttons.add(e.button + 1);
|
|
46
|
-
});
|
|
47
|
-
window.addEventListener('mouseup', (e) => {
|
|
48
|
-
this.buttons.delete(e.button + 1);
|
|
49
|
-
});
|
|
50
|
-
window.addEventListener('blur', () => {
|
|
51
|
-
this.buttons.clear();
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
getPosition() {
|
|
55
|
-
return [this.x, this.y];
|
|
56
|
-
}
|
|
57
|
-
getX() {
|
|
58
|
-
return this.x;
|
|
59
|
-
}
|
|
60
|
-
getY() {
|
|
61
|
-
return this.y;
|
|
62
|
-
}
|
|
63
|
-
isDown(button) {
|
|
64
|
-
return this.buttons.has(button);
|
|
65
|
-
}
|
|
66
|
-
getPressedButtons() {
|
|
67
|
-
return new Set(this.buttons);
|
|
68
|
-
}
|
|
69
|
-
isVisible() {
|
|
70
|
-
return document.pointerLockElement === null;
|
|
71
|
-
}
|
|
72
|
-
setVisible(visible) {
|
|
73
|
-
if (!visible && this.canvas) {
|
|
74
|
-
this.canvas.requestPointerLock();
|
|
75
|
-
}
|
|
76
|
-
else if (visible && document.pointerLockElement === this.canvas) {
|
|
77
|
-
document.exitPointerLock();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
getRelativeMode() {
|
|
81
|
-
return document.pointerLockElement !== null;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
export const mouse = new Mouse();
|
package/dist/rect.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rect.d.ts","sourceRoot":"","sources":["../src/rect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD,yBAAiB,CAAC,CAAC;IACjB,SAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvE;IAED,SAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAMvD;IAED,SAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAO/D;IAED,SAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAEzC;IAED,SAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAErC;IAED,SAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAEvC;IAED,SAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAExC;IAED,SAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAEzC;IAED,SAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAE3C;IAED,SAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAE5C;IAED,SAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAEpC;IAED,SAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAExC;IAED,SAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAO9D;IAED,SAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAO1D;IAED,SAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAOxD;IAED,SAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAWvD;IAED,SAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAMhD;IAED,SAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAOrD;IAED,SAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAEpD;IAED,SAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAEvD;IAED,SAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAEpD;IAED,SAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAOxD;CACF"}
|
package/dist/scene.d.ts
DELETED
package/dist/scene.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACtC"}
|
package/dist/timer.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../src/timer.ts"],"names":[],"mappings":"AAAA,qBAAa,KAAK;IAChB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,cAAc,CAAK;IAE3B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAaxB,cAAc,IAAI,IAAI;IAItB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,OAAO,IAAI,MAAM;IAIjB,YAAY,IAAI,MAAM;IAItB,UAAU,IAAI,OAAO;IAUrB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAG9B;AAED,eAAO,MAAM,KAAK,OAAc,CAAC"}
|
package/dist/vector2.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vector2.d.ts","sourceRoot":"","sources":["../src/vector2.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvC,yBAAiB,EAAE,CAAC;IAClB,SAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAEnD;IAED,SAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAEnD;IAED,SAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;IAED,SAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;IAED,SAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAElD;IAED,SAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAEpD;IAED,SAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE3C;IAED,SAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAEzC;IAED,SAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAI7C;IAED,SAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAEvD;IAED,SAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/D;IAED,SAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAExC;IAED,SAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAIzD;IAED,SAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAEjD;IAED,SAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAE1C;IAED,SAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAEzC;IAED,SAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAExC;IAED,SAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAEzC;IAED,SAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAEnD;IAED,SAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAEnD;IAED,SAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAKrE;IAED,SAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,GAAG,OAAO,CAEjE;IAEM,MAAM,IAAI,EAAE,OAAgB,CAAC;IAC7B,MAAM,GAAG,EAAE,OAAgB,CAAC;IAC5B,MAAM,EAAE,EAAE,OAAiB,CAAC;IAC5B,MAAM,IAAI,EAAE,OAAgB,CAAC;IAC7B,MAAM,IAAI,EAAE,OAAiB,CAAC;IAC9B,MAAM,KAAK,EAAE,OAAgB,CAAC;CACtC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|