@rpgjs/client 5.0.0-alpha.9 → 5.0.0-beta.1
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/dist/Game/AnimationManager.d.ts +8 -0
- package/dist/Game/AnimationManager.js +26 -0
- package/dist/Game/AnimationManager.js.map +1 -0
- package/dist/Game/Event.d.ts +1 -1
- package/dist/Game/Event.js +12 -0
- package/dist/Game/Event.js.map +1 -0
- package/dist/Game/Map.d.ts +23 -2
- package/dist/Game/Map.js +80 -0
- package/dist/Game/Map.js.map +1 -0
- package/dist/Game/Object.d.ts +157 -0
- package/dist/Game/Object.js +211 -0
- package/dist/Game/Object.js.map +1 -0
- package/dist/Game/Player.d.ts +1 -1
- package/dist/Game/Player.js +12 -0
- package/dist/Game/Player.js.map +1 -0
- package/dist/Gui/Gui.d.ts +177 -5
- package/dist/Gui/Gui.js +445 -0
- package/dist/Gui/Gui.js.map +1 -0
- package/dist/Gui/NotificationManager.d.ts +23 -0
- package/dist/Gui/NotificationManager.js +49 -0
- package/dist/Gui/NotificationManager.js.map +1 -0
- package/dist/Resource.d.ts +97 -0
- package/dist/Resource.js +133 -0
- package/dist/Resource.js.map +1 -0
- package/dist/RpgClient.d.ts +238 -11
- package/dist/RpgClientEngine.d.ts +615 -14
- package/dist/RpgClientEngine.js +1334 -0
- package/dist/RpgClientEngine.js.map +1 -0
- package/dist/Sound.d.ts +199 -0
- package/dist/Sound.js +167 -0
- package/dist/Sound.js.map +1 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js +9 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorateMetadata.js +6 -0
- package/dist/components/animations/animation.ce.js +24 -0
- package/dist/components/animations/animation.ce.js.map +1 -0
- package/dist/components/animations/hit.ce.js +70 -0
- package/dist/components/animations/hit.ce.js.map +1 -0
- package/dist/components/animations/index.d.ts +4 -0
- package/dist/components/animations/index.js +11 -0
- package/dist/components/animations/index.js.map +1 -0
- package/dist/components/character.ce.js +392 -0
- package/dist/components/character.ce.js.map +1 -0
- package/dist/components/dynamics/parse-value.d.ts +1 -0
- package/dist/components/dynamics/parse-value.js +44 -0
- package/dist/components/dynamics/parse-value.js.map +1 -0
- package/dist/components/dynamics/text.ce.js +73 -0
- package/dist/components/dynamics/text.ce.js.map +1 -0
- package/dist/components/gui/box.ce.js +28 -0
- package/dist/components/gui/box.ce.js.map +1 -0
- package/dist/components/gui/dialogbox/index.ce.js +205 -0
- package/dist/components/gui/dialogbox/index.ce.js.map +1 -0
- package/dist/components/gui/gameover.ce.js +193 -0
- package/dist/components/gui/gameover.ce.js.map +1 -0
- package/dist/components/gui/hud/hud.ce.js +92 -0
- package/dist/components/gui/hud/hud.ce.js.map +1 -0
- package/dist/components/gui/index.d.ts +15 -3
- package/dist/components/gui/index.js +14 -0
- package/dist/components/gui/menu/equip-menu.ce.js +481 -0
- package/dist/components/gui/menu/equip-menu.ce.js.map +1 -0
- package/dist/components/gui/menu/exit-menu.ce.js +54 -0
- package/dist/components/gui/menu/exit-menu.ce.js.map +1 -0
- package/dist/components/gui/menu/items-menu.ce.js +344 -0
- package/dist/components/gui/menu/items-menu.ce.js.map +1 -0
- package/dist/components/gui/menu/main-menu.ce.js +417 -0
- package/dist/components/gui/menu/main-menu.ce.js.map +1 -0
- package/dist/components/gui/menu/options-menu.ce.js +48 -0
- package/dist/components/gui/menu/options-menu.ce.js.map +1 -0
- package/dist/components/gui/menu/skills-menu.ce.js +107 -0
- package/dist/components/gui/menu/skills-menu.ce.js.map +1 -0
- package/dist/components/gui/mobile/index.d.ts +8 -0
- package/dist/components/gui/mobile/index.js +21 -0
- package/dist/components/gui/mobile/index.js.map +1 -0
- package/dist/components/gui/mobile/mobile.ce.js +78 -0
- package/dist/components/gui/mobile/mobile.ce.js.map +1 -0
- package/dist/components/gui/notification/notification.ce.js +64 -0
- package/dist/components/gui/notification/notification.ce.js.map +1 -0
- package/dist/components/gui/save-load.ce.js +389 -0
- package/dist/components/gui/save-load.ce.js.map +1 -0
- package/dist/components/gui/shop/shop.ce.js +652 -0
- package/dist/components/gui/shop/shop.ce.js.map +1 -0
- package/dist/components/gui/title-screen.ce.js +190 -0
- package/dist/components/gui/title-screen.ce.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +4 -0
- package/dist/components/prebuilt/hp-bar.ce.js +116 -0
- package/dist/components/prebuilt/hp-bar.ce.js.map +1 -0
- package/dist/components/prebuilt/index.d.ts +19 -0
- package/dist/components/prebuilt/index.js +2 -0
- package/dist/components/prebuilt/light-halo.ce.js +94 -0
- package/dist/components/prebuilt/light-halo.ce.js.map +1 -0
- package/dist/components/scenes/canvas.ce.js +60 -0
- package/dist/components/scenes/canvas.ce.js.map +1 -0
- package/dist/components/scenes/draw-map.ce.js +89 -0
- package/dist/components/scenes/draw-map.ce.js.map +1 -0
- package/dist/components/scenes/event-layer.ce.js +28 -0
- package/dist/components/scenes/event-layer.ce.js.map +1 -0
- package/dist/core/inject.js +18 -0
- package/dist/core/inject.js.map +1 -0
- package/dist/core/setup.js +16 -0
- package/dist/core/setup.js.map +1 -0
- package/dist/index.d.ts +15 -1
- package/dist/index.js +44 -14
- package/dist/module.d.ts +43 -4
- package/dist/module.js +176 -0
- package/dist/module.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_di@2.9.0/node_modules/@signe/di/dist/index.js +277 -0
- package/dist/node_modules/.pnpm/@signe_di@2.9.0/node_modules/@signe/di/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_reactive@2.8.3/node_modules/@signe/reactive/dist/index.js +457 -0
- package/dist/node_modules/.pnpm/@signe_reactive@2.8.3/node_modules/@signe/reactive/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_reactive@2.9.0/node_modules/@signe/reactive/dist/index.js +463 -0
- package/dist/node_modules/.pnpm/@signe_reactive@2.9.0/node_modules/@signe/reactive/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_room@2.9.0/node_modules/@signe/room/dist/index.js +2191 -0
- package/dist/node_modules/.pnpm/@signe_room@2.9.0/node_modules/@signe/room/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/chunk-7QVYU63E.js +10 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/chunk-7QVYU63E.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/client/index.js +91 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/client/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/index.js +325 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/dset@3.1.4/node_modules/dset/dist/index.js +14 -0
- package/dist/node_modules/.pnpm/dset@3.1.4/node_modules/dset/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-HAC622V3.js +115 -0
- package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-HAC622V3.js.map +1 -0
- package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-S74YV6PU.js +401 -0
- package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-S74YV6PU.js.map +1 -0
- package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/index.js +2 -0
- package/dist/node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/index.js +3756 -0
- package/dist/node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/index.js.map +1 -0
- package/dist/presets/animation.d.ts +31 -0
- package/dist/presets/animation.js +39 -0
- package/dist/presets/animation.js.map +1 -0
- package/dist/presets/faceset.d.ts +30 -0
- package/dist/presets/faceset.js +51 -0
- package/dist/presets/faceset.js.map +1 -0
- package/dist/presets/icon.d.ts +20 -0
- package/dist/presets/icon.js +15 -0
- package/dist/presets/icon.js.map +1 -0
- package/dist/presets/index.d.ts +123 -0
- package/dist/presets/index.js +17 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/lpc.d.ts +89 -0
- package/dist/presets/lpc.js +98 -0
- package/dist/presets/lpc.js.map +1 -0
- package/dist/presets/rmspritesheet.js +42 -0
- package/dist/presets/rmspritesheet.js.map +1 -0
- package/dist/services/AbstractSocket.d.ts +9 -5
- package/dist/services/AbstractSocket.js +11 -0
- package/dist/services/AbstractSocket.js.map +1 -0
- package/dist/services/keyboardControls.d.ts +15 -0
- package/dist/services/keyboardControls.js +23 -0
- package/dist/services/keyboardControls.js.map +1 -0
- package/dist/services/loadMap.js +123 -0
- package/dist/services/loadMap.js.map +1 -0
- package/dist/services/mmorpg.d.ts +21 -9
- package/dist/services/mmorpg.js +131 -0
- package/dist/services/mmorpg.js.map +1 -0
- package/dist/services/save.d.ts +19 -0
- package/dist/services/save.js +77 -0
- package/dist/services/save.js.map +1 -0
- package/dist/services/standalone.d.ts +67 -7
- package/dist/services/standalone.js +168 -0
- package/dist/services/standalone.js.map +1 -0
- package/dist/utils/getEntityProp.d.ts +39 -0
- package/dist/utils/getEntityProp.js +52 -0
- package/dist/utils/getEntityProp.js.map +1 -0
- package/package.json +13 -9
- package/src/Game/{EffectManager.ts → AnimationManager.ts} +3 -2
- package/src/Game/Event.ts +1 -1
- package/src/Game/Map.ts +95 -3
- package/src/Game/Object.ts +330 -14
- package/src/Game/Player.ts +1 -1
- package/src/Gui/Gui.ts +506 -18
- package/src/Gui/NotificationManager.ts +69 -0
- package/src/Resource.ts +150 -0
- package/src/RpgClient.ts +246 -12
- package/src/RpgClientEngine.ts +1641 -62
- package/src/Sound.ts +253 -0
- package/src/components/{effects → animations}/animation.ce +3 -6
- package/src/components/{effects → animations}/index.ts +1 -1
- package/src/components/character.ce +387 -52
- package/src/components/dynamics/parse-value.ts +80 -0
- package/src/components/dynamics/text.ce +183 -0
- package/src/components/gui/box.ce +17 -0
- package/src/components/gui/dialogbox/index.ce +204 -187
- package/src/components/gui/gameover.ce +158 -0
- package/src/components/gui/hud/hud.ce +61 -0
- package/src/components/gui/index.ts +30 -4
- package/src/components/gui/menu/equip-menu.ce +410 -0
- package/src/components/gui/menu/exit-menu.ce +41 -0
- package/src/components/gui/menu/items-menu.ce +317 -0
- package/src/components/gui/menu/main-menu.ce +294 -0
- package/src/components/gui/menu/options-menu.ce +35 -0
- package/src/components/gui/menu/skills-menu.ce +83 -0
- package/src/components/gui/mobile/index.ts +24 -0
- package/src/components/gui/mobile/mobile.ce +80 -0
- package/src/components/gui/notification/notification.ce +51 -0
- package/src/components/gui/save-load.ce +208 -0
- package/src/components/gui/shop/shop.ce +493 -0
- package/src/components/gui/title-screen.ce +163 -0
- package/src/components/index.ts +3 -0
- package/src/components/prebuilt/hp-bar.ce +255 -0
- package/src/components/prebuilt/index.ts +24 -0
- package/src/components/prebuilt/light-halo.ce +148 -0
- package/src/components/scenes/canvas.ce +20 -15
- package/src/components/scenes/draw-map.ce +60 -13
- package/src/components/scenes/event-layer.ce +7 -0
- package/src/components/scenes/transition.ce +60 -0
- package/src/index.ts +16 -2
- package/src/module.ts +127 -9
- package/src/presets/animation.ts +46 -0
- package/src/presets/faceset.ts +60 -0
- package/src/presets/icon.ts +17 -0
- package/src/presets/index.ts +9 -1
- package/src/presets/lpc.ts +108 -0
- package/src/services/AbstractSocket.ts +10 -2
- package/src/services/keyboardControls.ts +20 -0
- package/src/services/loadMap.ts +1 -1
- package/src/services/mmorpg.ts +100 -12
- package/src/services/save.ts +103 -0
- package/src/services/standalone.ts +110 -18
- package/src/utils/getEntityProp.ts +87 -0
- package/vite.config.ts +4 -2
- package/dist/Game/EffectManager.d.ts +0 -5
- package/dist/components/effects/index.d.ts +0 -4
- package/dist/index.js.map +0 -1
- package/dist/index10.js +0 -8
- package/dist/index10.js.map +0 -1
- package/dist/index11.js +0 -10
- package/dist/index11.js.map +0 -1
- package/dist/index12.js +0 -8
- package/dist/index12.js.map +0 -1
- package/dist/index13.js +0 -17
- package/dist/index13.js.map +0 -1
- package/dist/index14.js +0 -107
- package/dist/index14.js.map +0 -1
- package/dist/index15.js +0 -50
- package/dist/index15.js.map +0 -1
- package/dist/index16.js +0 -191
- package/dist/index16.js.map +0 -1
- package/dist/index17.js +0 -9
- package/dist/index17.js.map +0 -1
- package/dist/index18.js +0 -387
- package/dist/index18.js.map +0 -1
- package/dist/index19.js +0 -31
- package/dist/index19.js.map +0 -1
- package/dist/index2.js +0 -181
- package/dist/index2.js.map +0 -1
- package/dist/index20.js +0 -24
- package/dist/index20.js.map +0 -1
- package/dist/index21.js +0 -2421
- package/dist/index21.js.map +0 -1
- package/dist/index22.js +0 -114
- package/dist/index22.js.map +0 -1
- package/dist/index23.js +0 -109
- package/dist/index23.js.map +0 -1
- package/dist/index24.js +0 -71
- package/dist/index24.js.map +0 -1
- package/dist/index25.js +0 -21
- package/dist/index25.js.map +0 -1
- package/dist/index26.js +0 -41
- package/dist/index26.js.map +0 -1
- package/dist/index27.js +0 -5
- package/dist/index27.js.map +0 -1
- package/dist/index28.js +0 -322
- package/dist/index28.js.map +0 -1
- package/dist/index29.js +0 -27
- package/dist/index29.js.map +0 -1
- package/dist/index3.js +0 -87
- package/dist/index3.js.map +0 -1
- package/dist/index30.js +0 -11
- package/dist/index30.js.map +0 -1
- package/dist/index31.js +0 -11
- package/dist/index31.js.map +0 -1
- package/dist/index32.js +0 -174
- package/dist/index32.js.map +0 -1
- package/dist/index33.js +0 -501
- package/dist/index33.js.map +0 -1
- package/dist/index34.js +0 -12
- package/dist/index34.js.map +0 -1
- package/dist/index35.js +0 -4403
- package/dist/index35.js.map +0 -1
- package/dist/index36.js +0 -316
- package/dist/index36.js.map +0 -1
- package/dist/index37.js +0 -61
- package/dist/index37.js.map +0 -1
- package/dist/index38.js +0 -20
- package/dist/index38.js.map +0 -1
- package/dist/index39.js +0 -20
- package/dist/index39.js.map +0 -1
- package/dist/index4.js +0 -67
- package/dist/index4.js.map +0 -1
- package/dist/index5.js +0 -16
- package/dist/index5.js.map +0 -1
- package/dist/index6.js +0 -17
- package/dist/index6.js.map +0 -1
- package/dist/index7.js +0 -39
- package/dist/index7.js.map +0 -1
- package/dist/index8.js +0 -108
- package/dist/index8.js.map +0 -1
- package/dist/index9.js +0 -76
- package/dist/index9.js.map +0 -1
- package/src/components/gui/dialogbox/itemMenu.ce +0 -23
- package/src/components/gui/dialogbox/selection.ce +0 -67
- /package/src/components/{effects → animations}/hit.ce +0 -0
package/dist/index36.js
DELETED
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject, filter, combineLatest, map, finalize } from 'rxjs';
|
|
2
|
-
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
-
var ArraySubject = class extends BehaviorSubject {
|
|
6
|
-
static {
|
|
7
|
-
__name(this, "ArraySubject");
|
|
8
|
-
}
|
|
9
|
-
_items = [];
|
|
10
|
-
constructor(items = []) {
|
|
11
|
-
super({
|
|
12
|
-
type: "init",
|
|
13
|
-
items
|
|
14
|
-
});
|
|
15
|
-
this.createProxy(items);
|
|
16
|
-
}
|
|
17
|
-
createProxy(items) {
|
|
18
|
-
this._items = new Proxy(items, {
|
|
19
|
-
get: /* @__PURE__ */ __name((target, prop, receiver) => {
|
|
20
|
-
const origMethod = target[prop];
|
|
21
|
-
if (typeof origMethod === "function") {
|
|
22
|
-
return (...args) => {
|
|
23
|
-
let changeType = "update";
|
|
24
|
-
let index = void 0;
|
|
25
|
-
let isMutateFn = false;
|
|
26
|
-
let itemsToEmit = [];
|
|
27
|
-
let changeSplice = true;
|
|
28
|
-
switch (prop) {
|
|
29
|
-
case "push":
|
|
30
|
-
index = target.length;
|
|
31
|
-
changeType = "add";
|
|
32
|
-
isMutateFn = true;
|
|
33
|
-
break;
|
|
34
|
-
case "pop":
|
|
35
|
-
index = target.length - 1;
|
|
36
|
-
changeType = "remove";
|
|
37
|
-
isMutateFn = true;
|
|
38
|
-
break;
|
|
39
|
-
case "unshift":
|
|
40
|
-
index = 0;
|
|
41
|
-
changeType = "add";
|
|
42
|
-
isMutateFn = true;
|
|
43
|
-
break;
|
|
44
|
-
case "shift":
|
|
45
|
-
index = 0;
|
|
46
|
-
changeType = "remove";
|
|
47
|
-
isMutateFn = true;
|
|
48
|
-
break;
|
|
49
|
-
case "splice":
|
|
50
|
-
index = args[0];
|
|
51
|
-
const deleteCount = args[1];
|
|
52
|
-
const newItems = args.slice(2);
|
|
53
|
-
itemsToEmit = newItems;
|
|
54
|
-
if (deleteCount > 0 && newItems.length === 0) {
|
|
55
|
-
changeType = "remove";
|
|
56
|
-
} else if (deleteCount === 0 && newItems.length > 0) {
|
|
57
|
-
changeType = "add";
|
|
58
|
-
} else if (deleteCount === 0 && newItems.length === 0) {
|
|
59
|
-
changeSplice = false;
|
|
60
|
-
} else {
|
|
61
|
-
changeType = "update";
|
|
62
|
-
}
|
|
63
|
-
isMutateFn = true;
|
|
64
|
-
break;
|
|
65
|
-
}
|
|
66
|
-
const result = origMethod.apply(target, args);
|
|
67
|
-
if (isMutateFn && changeSplice) {
|
|
68
|
-
if (prop === "splice") {
|
|
69
|
-
this.next({
|
|
70
|
-
type: changeType,
|
|
71
|
-
index,
|
|
72
|
-
items: itemsToEmit
|
|
73
|
-
});
|
|
74
|
-
} else {
|
|
75
|
-
this.next({
|
|
76
|
-
type: changeType,
|
|
77
|
-
index,
|
|
78
|
-
items: args
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return result;
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
return Reflect.get(target, prop, receiver);
|
|
86
|
-
}, "get"),
|
|
87
|
-
set: /* @__PURE__ */ __name((target, prop, value) => {
|
|
88
|
-
const index = !isNaN(Number(prop)) ? Number(prop) : void 0;
|
|
89
|
-
target[prop] = value;
|
|
90
|
-
this.next({
|
|
91
|
-
type: "update",
|
|
92
|
-
index,
|
|
93
|
-
items: [
|
|
94
|
-
value
|
|
95
|
-
]
|
|
96
|
-
});
|
|
97
|
-
return true;
|
|
98
|
-
}, "set")
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
get items() {
|
|
102
|
-
return this._items;
|
|
103
|
-
}
|
|
104
|
-
set items(newItems) {
|
|
105
|
-
this.createProxy(newItems);
|
|
106
|
-
this.next({
|
|
107
|
-
type: "reset",
|
|
108
|
-
items: newItems
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
var ObjectSubject = class extends BehaviorSubject {
|
|
113
|
-
static {
|
|
114
|
-
__name(this, "ObjectSubject");
|
|
115
|
-
}
|
|
116
|
-
_obj;
|
|
117
|
-
constructor(obj = {}) {
|
|
118
|
-
super({
|
|
119
|
-
type: "init",
|
|
120
|
-
value: obj
|
|
121
|
-
});
|
|
122
|
-
this.createProxy(obj);
|
|
123
|
-
}
|
|
124
|
-
createProxy(obj) {
|
|
125
|
-
this._obj = new Proxy(obj, {
|
|
126
|
-
get: /* @__PURE__ */ __name((target, prop, receiver) => {
|
|
127
|
-
return Reflect.get(target, prop, receiver);
|
|
128
|
-
}, "get"),
|
|
129
|
-
set: /* @__PURE__ */ __name((target, prop, value, receiver) => {
|
|
130
|
-
const key = prop;
|
|
131
|
-
const changeType = key in target ? "update" : "add";
|
|
132
|
-
target[key] = value;
|
|
133
|
-
this.next({
|
|
134
|
-
type: changeType,
|
|
135
|
-
key,
|
|
136
|
-
value
|
|
137
|
-
});
|
|
138
|
-
return true;
|
|
139
|
-
}, "set"),
|
|
140
|
-
deleteProperty: /* @__PURE__ */ __name((target, prop) => {
|
|
141
|
-
const key = prop;
|
|
142
|
-
if (key in target) {
|
|
143
|
-
const value = target[key];
|
|
144
|
-
delete target[key];
|
|
145
|
-
this.next({
|
|
146
|
-
type: "remove",
|
|
147
|
-
key,
|
|
148
|
-
value
|
|
149
|
-
});
|
|
150
|
-
return true;
|
|
151
|
-
}
|
|
152
|
-
return false;
|
|
153
|
-
}, "deleteProperty")
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
get obj() {
|
|
157
|
-
return this._obj;
|
|
158
|
-
}
|
|
159
|
-
set obj(newObj) {
|
|
160
|
-
this.createProxy(newObj);
|
|
161
|
-
this.next({
|
|
162
|
-
type: "reset",
|
|
163
|
-
value: newObj
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
var getGlobalReactiveStore = /* @__PURE__ */ __name(() => {
|
|
168
|
-
const globalKey = "__REACTIVE_STORE__";
|
|
169
|
-
if (typeof globalThis !== "undefined") {
|
|
170
|
-
if (!globalThis[globalKey]) {
|
|
171
|
-
globalThis[globalKey] = {
|
|
172
|
-
currentDependencyTracker: null,
|
|
173
|
-
currentSubscriptionsTracker: null
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
return globalThis[globalKey];
|
|
177
|
-
}
|
|
178
|
-
let globalObj;
|
|
179
|
-
if (typeof window !== "undefined") {
|
|
180
|
-
globalObj = window;
|
|
181
|
-
} else if (typeof process !== "undefined" && process.versions && process.versions.node) {
|
|
182
|
-
globalObj = Function("return this")();
|
|
183
|
-
} else if (typeof self !== "undefined") {
|
|
184
|
-
globalObj = self;
|
|
185
|
-
} else {
|
|
186
|
-
console.warn("Unable to find global object, using local instance");
|
|
187
|
-
return {
|
|
188
|
-
currentDependencyTracker: null,
|
|
189
|
-
currentSubscriptionsTracker: null
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
if (!globalObj[globalKey]) {
|
|
193
|
-
globalObj[globalKey] = {
|
|
194
|
-
currentDependencyTracker: null,
|
|
195
|
-
currentSubscriptionsTracker: null
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
return globalObj[globalKey];
|
|
199
|
-
}, "getGlobalReactiveStore");
|
|
200
|
-
var reactiveStore = getGlobalReactiveStore();
|
|
201
|
-
var trackDependency = /* @__PURE__ */ __name((signal2) => {
|
|
202
|
-
if (reactiveStore.currentDependencyTracker) {
|
|
203
|
-
reactiveStore.currentDependencyTracker(signal2);
|
|
204
|
-
}
|
|
205
|
-
}, "trackDependency");
|
|
206
|
-
function signal(defaultValue) {
|
|
207
|
-
let subject;
|
|
208
|
-
if (Array.isArray(defaultValue)) {
|
|
209
|
-
subject = new ArraySubject(defaultValue);
|
|
210
|
-
} else if (typeof defaultValue === "object" && defaultValue !== null) {
|
|
211
|
-
subject = new ObjectSubject(defaultValue);
|
|
212
|
-
} else {
|
|
213
|
-
subject = new BehaviorSubject(defaultValue);
|
|
214
|
-
}
|
|
215
|
-
const getValue = /* @__PURE__ */ __name(() => {
|
|
216
|
-
if (subject instanceof ArraySubject) {
|
|
217
|
-
return subject.items;
|
|
218
|
-
} else if (subject instanceof ObjectSubject) {
|
|
219
|
-
return subject.obj;
|
|
220
|
-
}
|
|
221
|
-
return subject.value;
|
|
222
|
-
}, "getValue");
|
|
223
|
-
const fn = /* @__PURE__ */ __name(function() {
|
|
224
|
-
trackDependency(fn);
|
|
225
|
-
return getValue();
|
|
226
|
-
}, "fn");
|
|
227
|
-
fn.set = (value) => {
|
|
228
|
-
if (subject instanceof ArraySubject) {
|
|
229
|
-
subject.items = value;
|
|
230
|
-
} else if (subject instanceof ObjectSubject) {
|
|
231
|
-
subject.obj = value;
|
|
232
|
-
} else {
|
|
233
|
-
subject.next(value);
|
|
234
|
-
}
|
|
235
|
-
};
|
|
236
|
-
fn._isFrozen = false;
|
|
237
|
-
fn.freeze = () => {
|
|
238
|
-
fn._isFrozen = true;
|
|
239
|
-
};
|
|
240
|
-
fn.unfreeze = () => {
|
|
241
|
-
fn._isFrozen = false;
|
|
242
|
-
if (subject instanceof ArraySubject) {
|
|
243
|
-
subject.next({
|
|
244
|
-
type: "init",
|
|
245
|
-
items: subject.items
|
|
246
|
-
});
|
|
247
|
-
} else if (subject instanceof ObjectSubject) {
|
|
248
|
-
subject.next({
|
|
249
|
-
type: "init",
|
|
250
|
-
value: subject.obj
|
|
251
|
-
});
|
|
252
|
-
} else {
|
|
253
|
-
subject.next(subject.value);
|
|
254
|
-
}
|
|
255
|
-
};
|
|
256
|
-
fn.mutate = (mutateFn) => {
|
|
257
|
-
const value = getValue();
|
|
258
|
-
mutateFn(value);
|
|
259
|
-
};
|
|
260
|
-
fn.update = (updateFn) => {
|
|
261
|
-
const updatedValue = updateFn(getValue());
|
|
262
|
-
fn.set(updatedValue);
|
|
263
|
-
};
|
|
264
|
-
fn.observable = subject.asObservable().pipe(filter(() => !fn._isFrozen));
|
|
265
|
-
fn._subject = subject;
|
|
266
|
-
return fn;
|
|
267
|
-
}
|
|
268
|
-
__name(signal, "signal");
|
|
269
|
-
function isSignal(value) {
|
|
270
|
-
return !!(value && value.observable);
|
|
271
|
-
}
|
|
272
|
-
__name(isSignal, "isSignal");
|
|
273
|
-
function isComputed(value) {
|
|
274
|
-
return isSignal(value) && !!value.dependencies;
|
|
275
|
-
}
|
|
276
|
-
__name(isComputed, "isComputed");
|
|
277
|
-
function computed(computeFunction, disposableFn) {
|
|
278
|
-
const dependencies = /* @__PURE__ */ new Set();
|
|
279
|
-
let init = true;
|
|
280
|
-
let lastComputedValue;
|
|
281
|
-
const previousTracker = reactiveStore.currentDependencyTracker;
|
|
282
|
-
reactiveStore.currentDependencyTracker = (signal2) => {
|
|
283
|
-
dependencies.add(signal2);
|
|
284
|
-
};
|
|
285
|
-
lastComputedValue = computeFunction();
|
|
286
|
-
if (computeFunction["isEffect"]) {
|
|
287
|
-
disposableFn = lastComputedValue;
|
|
288
|
-
}
|
|
289
|
-
reactiveStore.currentDependencyTracker = previousTracker;
|
|
290
|
-
const computedObservable = combineLatest([
|
|
291
|
-
...dependencies
|
|
292
|
-
].map((signal2) => signal2.observable)).pipe(filter(() => !init), map(() => computeFunction()), finalize(() => disposableFn?.()));
|
|
293
|
-
const fn = /* @__PURE__ */ __name(function() {
|
|
294
|
-
trackDependency(fn);
|
|
295
|
-
return lastComputedValue;
|
|
296
|
-
}, "fn");
|
|
297
|
-
fn.observable = computedObservable;
|
|
298
|
-
fn.subscription = computedObservable.subscribe((value) => {
|
|
299
|
-
lastComputedValue = value;
|
|
300
|
-
});
|
|
301
|
-
fn.dependencies = dependencies;
|
|
302
|
-
reactiveStore.currentSubscriptionsTracker?.(fn.subscription);
|
|
303
|
-
init = false;
|
|
304
|
-
return fn;
|
|
305
|
-
}
|
|
306
|
-
__name(computed, "computed");
|
|
307
|
-
|
|
308
|
-
// src/effect.ts
|
|
309
|
-
function effect(fn) {
|
|
310
|
-
fn["isEffect"] = true;
|
|
311
|
-
return computed(fn);
|
|
312
|
-
}
|
|
313
|
-
__name(effect, "effect");
|
|
314
|
-
|
|
315
|
-
export { ArraySubject, ObjectSubject, computed, effect, isComputed, isSignal, signal };
|
|
316
|
-
//# sourceMappingURL=index36.js.map
|
package/dist/index36.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index36.js","sources":["../../../node_modules/.pnpm/@signe+reactive@2.3.1/node_modules/@signe/reactive/dist/index.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/ArraySubject.ts\nimport { BehaviorSubject } from \"rxjs\";\nvar ArraySubject = class extends BehaviorSubject {\n static {\n __name(this, \"ArraySubject\");\n }\n _items = [];\n constructor(items = []) {\n super({\n type: \"init\",\n items\n });\n this.createProxy(items);\n }\n createProxy(items) {\n this._items = new Proxy(items, {\n get: /* @__PURE__ */ __name((target, prop, receiver) => {\n const origMethod = target[prop];\n if (typeof origMethod === \"function\") {\n return (...args) => {\n let changeType = \"update\";\n let index = void 0;\n let isMutateFn = false;\n let itemsToEmit = [];\n let changeSplice = true;\n switch (prop) {\n case \"push\":\n index = target.length;\n changeType = \"add\";\n isMutateFn = true;\n break;\n case \"pop\":\n index = target.length - 1;\n changeType = \"remove\";\n isMutateFn = true;\n break;\n case \"unshift\":\n index = 0;\n changeType = \"add\";\n isMutateFn = true;\n break;\n case \"shift\":\n index = 0;\n changeType = \"remove\";\n isMutateFn = true;\n break;\n case \"splice\":\n index = args[0];\n const deleteCount = args[1];\n const newItems = args.slice(2);\n itemsToEmit = newItems;\n if (deleteCount > 0 && newItems.length === 0) {\n changeType = \"remove\";\n } else if (deleteCount === 0 && newItems.length > 0) {\n changeType = \"add\";\n } else if (deleteCount === 0 && newItems.length === 0) {\n changeSplice = false;\n } else {\n changeType = \"update\";\n }\n isMutateFn = true;\n break;\n }\n const result = origMethod.apply(target, args);\n if (isMutateFn && changeSplice) {\n if (prop === \"splice\") {\n this.next({\n type: changeType,\n index,\n items: itemsToEmit\n });\n } else {\n this.next({\n type: changeType,\n index,\n items: args\n });\n }\n }\n return result;\n };\n }\n return Reflect.get(target, prop, receiver);\n }, \"get\"),\n set: /* @__PURE__ */ __name((target, prop, value) => {\n const index = !isNaN(Number(prop)) ? Number(prop) : void 0;\n target[prop] = value;\n this.next({\n type: \"update\",\n index,\n items: [\n value\n ]\n });\n return true;\n }, \"set\")\n });\n }\n get items() {\n return this._items;\n }\n set items(newItems) {\n this.createProxy(newItems);\n this.next({\n type: \"reset\",\n items: newItems\n });\n }\n};\nvar isArraySubject = /* @__PURE__ */ __name((value) => {\n return \"_items\" in value;\n}, \"isArraySubject\");\n\n// src/ObjectSubject.ts\nimport { BehaviorSubject as BehaviorSubject2 } from \"rxjs\";\nvar ObjectSubject = class extends BehaviorSubject2 {\n static {\n __name(this, \"ObjectSubject\");\n }\n _obj;\n constructor(obj = {}) {\n super({\n type: \"init\",\n value: obj\n });\n this.createProxy(obj);\n }\n createProxy(obj) {\n this._obj = new Proxy(obj, {\n get: /* @__PURE__ */ __name((target, prop, receiver) => {\n return Reflect.get(target, prop, receiver);\n }, \"get\"),\n set: /* @__PURE__ */ __name((target, prop, value, receiver) => {\n const key = prop;\n const changeType = key in target ? \"update\" : \"add\";\n target[key] = value;\n this.next({\n type: changeType,\n key,\n value\n });\n return true;\n }, \"set\"),\n deleteProperty: /* @__PURE__ */ __name((target, prop) => {\n const key = prop;\n if (key in target) {\n const value = target[key];\n delete target[key];\n this.next({\n type: \"remove\",\n key,\n value\n });\n return true;\n }\n return false;\n }, \"deleteProperty\")\n });\n }\n get obj() {\n return this._obj;\n }\n set obj(newObj) {\n this.createProxy(newObj);\n this.next({\n type: \"reset\",\n value: newObj\n });\n }\n};\nvar isObjectSubject = /* @__PURE__ */ __name((value) => {\n return \"_obj\" in value;\n}, \"isObjectSubject\");\n\n// src/signal.ts\nimport { BehaviorSubject as BehaviorSubject3, combineLatest, filter, finalize, map } from \"rxjs\";\nvar getGlobalReactiveStore = /* @__PURE__ */ __name(() => {\n const globalKey = \"__REACTIVE_STORE__\";\n if (typeof globalThis !== \"undefined\") {\n if (!globalThis[globalKey]) {\n globalThis[globalKey] = {\n currentDependencyTracker: null,\n currentSubscriptionsTracker: null\n };\n }\n return globalThis[globalKey];\n }\n let globalObj;\n if (typeof window !== \"undefined\") {\n globalObj = window;\n } else if (typeof process !== \"undefined\" && process.versions && process.versions.node) {\n globalObj = Function(\"return this\")();\n } else if (typeof self !== \"undefined\") {\n globalObj = self;\n } else {\n console.warn(\"Unable to find global object, using local instance\");\n return {\n currentDependencyTracker: null,\n currentSubscriptionsTracker: null\n };\n }\n if (!globalObj[globalKey]) {\n globalObj[globalKey] = {\n currentDependencyTracker: null,\n currentSubscriptionsTracker: null\n };\n }\n return globalObj[globalKey];\n}, \"getGlobalReactiveStore\");\nvar reactiveStore = getGlobalReactiveStore();\nvar trackDependency = /* @__PURE__ */ __name((signal2) => {\n if (reactiveStore.currentDependencyTracker) {\n reactiveStore.currentDependencyTracker(signal2);\n }\n}, \"trackDependency\");\nfunction signal(defaultValue) {\n let subject;\n if (Array.isArray(defaultValue)) {\n subject = new ArraySubject(defaultValue);\n } else if (typeof defaultValue === \"object\" && defaultValue !== null) {\n subject = new ObjectSubject(defaultValue);\n } else {\n subject = new BehaviorSubject3(defaultValue);\n }\n const getValue = /* @__PURE__ */ __name(() => {\n if (subject instanceof ArraySubject) {\n return subject.items;\n } else if (subject instanceof ObjectSubject) {\n return subject.obj;\n }\n return subject.value;\n }, \"getValue\");\n const fn = /* @__PURE__ */ __name(function() {\n trackDependency(fn);\n return getValue();\n }, \"fn\");\n fn.set = (value) => {\n if (subject instanceof ArraySubject) {\n subject.items = value;\n } else if (subject instanceof ObjectSubject) {\n subject.obj = value;\n } else {\n subject.next(value);\n }\n };\n fn._isFrozen = false;\n fn.freeze = () => {\n fn._isFrozen = true;\n };\n fn.unfreeze = () => {\n fn._isFrozen = false;\n if (subject instanceof ArraySubject) {\n subject.next({\n type: \"init\",\n items: subject.items\n });\n } else if (subject instanceof ObjectSubject) {\n subject.next({\n type: \"init\",\n value: subject.obj\n });\n } else {\n subject.next(subject.value);\n }\n };\n fn.mutate = (mutateFn) => {\n const value = getValue();\n mutateFn(value);\n };\n fn.update = (updateFn) => {\n const updatedValue = updateFn(getValue());\n fn.set(updatedValue);\n };\n fn.observable = subject.asObservable().pipe(filter(() => !fn._isFrozen));\n fn._subject = subject;\n return fn;\n}\n__name(signal, \"signal\");\nfunction isSignal(value) {\n return !!(value && value.observable);\n}\n__name(isSignal, \"isSignal\");\nfunction isComputed(value) {\n return isSignal(value) && !!value.dependencies;\n}\n__name(isComputed, \"isComputed\");\nfunction computed(computeFunction, disposableFn) {\n const dependencies = /* @__PURE__ */ new Set();\n let init = true;\n let lastComputedValue;\n const previousTracker = reactiveStore.currentDependencyTracker;\n reactiveStore.currentDependencyTracker = (signal2) => {\n dependencies.add(signal2);\n };\n lastComputedValue = computeFunction();\n if (computeFunction[\"isEffect\"]) {\n disposableFn = lastComputedValue;\n }\n reactiveStore.currentDependencyTracker = previousTracker;\n const computedObservable = combineLatest([\n ...dependencies\n ].map((signal2) => signal2.observable)).pipe(filter(() => !init), map(() => computeFunction()), finalize(() => disposableFn?.()));\n const fn = /* @__PURE__ */ __name(function() {\n trackDependency(fn);\n return lastComputedValue;\n }, \"fn\");\n fn.observable = computedObservable;\n fn.subscription = computedObservable.subscribe((value) => {\n lastComputedValue = value;\n });\n fn.dependencies = dependencies;\n reactiveStore.currentSubscriptionsTracker?.(fn.subscription);\n init = false;\n return fn;\n}\n__name(computed, \"computed\");\n\n// src/effect.ts\nfunction effect(fn) {\n fn[\"isEffect\"] = true;\n return computed(fn);\n}\n__name(effect, \"effect\");\nexport {\n ArraySubject,\n ObjectSubject,\n computed,\n effect,\n isArraySubject,\n isComputed,\n isObjectSubject,\n isSignal,\n signal\n};\n//# sourceMappingURL=index.js.map"],"names":["BehaviorSubject2","BehaviorSubject3"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/index37.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { useProps, useDefineProps, mount, signal, h, Container, loop, computed } from 'canvasengine';
|
|
2
|
-
import component$1 from './index38.js';
|
|
3
|
-
import { RpgClientEngine } from './index2.js';
|
|
4
|
-
import { inject } from './index6.js';
|
|
5
|
-
|
|
6
|
-
function component($$props) {
|
|
7
|
-
useProps($$props);
|
|
8
|
-
const defineProps = useDefineProps($$props);
|
|
9
|
-
var _a = defineProps(), items = _a.items, wrapAround = _a.wrapAround, onSelect = _a.onSelect, selectedIndex = _a.selectedIndex;
|
|
10
|
-
var client = inject(RpgClientEngine);
|
|
11
|
-
var keyboardControls = client.globalConfig.keyboardControls;
|
|
12
|
-
var selected = function (index) {
|
|
13
|
-
return computed(function () {
|
|
14
|
-
return index === selectedIndex();
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
mount(function (element) {
|
|
18
|
-
return function () {
|
|
19
|
-
element.directives.controls.onDestroy();
|
|
20
|
-
};
|
|
21
|
-
});
|
|
22
|
-
var controls = signal({
|
|
23
|
-
down: {
|
|
24
|
-
bind: keyboardControls.down,
|
|
25
|
-
keyDown: function () {
|
|
26
|
-
selectedIndex.update(function (currentIndex) {
|
|
27
|
-
if (wrapAround) {
|
|
28
|
-
return (currentIndex + 1) % items().length;
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
return Math.min(currentIndex + 1, items().length - 1);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
up: {
|
|
37
|
-
bind: keyboardControls.up,
|
|
38
|
-
keyDown: function () {
|
|
39
|
-
selectedIndex.update(function (currentIndex) {
|
|
40
|
-
if (wrapAround) {
|
|
41
|
-
return (currentIndex - 1 + items().length) % items().length;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return Math.max(currentIndex - 1, 0);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
enter: {
|
|
50
|
-
bind: keyboardControls.action,
|
|
51
|
-
keyDown: function () {
|
|
52
|
-
onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedIndex());
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
let $this = h(Container, { controls, flexDirection: 'column', margin: [0, 0, 0, 50] }, loop(items, (item, index) => h(component$1, { text: item.text, isSelected: selected(index) })));
|
|
57
|
-
return $this
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export { component as default };
|
|
61
|
-
//# sourceMappingURL=index37.js.map
|
package/dist/index37.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index37.js","sources":["../src/components/gui/dialogbox/selection.ce"],"sourcesContent":["<Container controls flexDirection=\"column\" margin={[0, 0, 0, 50]}>\n @for ((item,index) of items) { \n <ItemMenu text={@item.@text} isSelected={@selected(@index)} /> \n }\n</Container>\n\n<script>\n import { signal, computed, mount } from \"canvasengine\";\n import ItemMenu from \"./itemMenu.ce\";\n import { RpgClientEngine } from \"../../../RpgClientEngine\";\n import { inject } from \"../../../core/inject\";\n\n const {\n items,\n wrapAround,\n onSelect,\n selectedIndex,\n } = defineProps();\n\n const client = inject(RpgClientEngine);\n const keyboardControls = client.globalConfig.keyboardControls;\n\n const selected = (index) => {\n return computed(() => {\n return index === selectedIndex();\n })\n }\n\n mount((element) => {\n return () => {\n element.directives.controls.onDestroy()\n }\n })\n\n const controls = signal({\n down: {\n bind: keyboardControls.down,\n keyDown() {\n selectedIndex.update((currentIndex) => {\n if (wrapAround) {\n return (currentIndex + 1) % items().length;\n } else {\n return Math.min(currentIndex + 1, items().length - 1);\n }\n });\n },\n },\n up: {\n bind: keyboardControls.up,\n keyDown() {\n selectedIndex.update((currentIndex) => {\n if (wrapAround) {\n return (currentIndex - 1 + items().length) % items().length;\n } else {\n return Math.max(currentIndex - 1, 0);\n }\n });\n },\n },\n enter: {\n bind: keyboardControls.action,\n keyDown() {\n onSelect?.(selectedIndex());\n },\n },\n });\n</script>\n"],"names":["ItemMenu"],"mappings":";;;;;AASqB,SAAS,SAAS,CAAC,OAAO,EAAE;AACjD,QAAuB,QAAQ,CAAC,OAAO;AACvC,QAAQ,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO;AAClD,QAAQ,IAAI,EAAE,GAAG,WAAW,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC,UAAU,EAAE,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,aAAa,GAAG,EAAE,CAAC,aAAa;AACtI,IAAI,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;AACpC,IAAI,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,gBAAgB;AAC3D,IAAI,QAAQ,GAAG,UAAU,KAAK,EAAE;AAChC,IAAI,OAAO,QAAQ,CAAC,YAAY;AAChC,QAAQ,OAAO,KAAK,KAAK,aAAa,EAAE;AACxC,KAAK,CAAC;AACN,CAAC;AACD,KAAK,CAAC,UAAU,OAAO,EAAE;AACzB,IAAI,OAAO,YAAY;AACvB,QAAQ,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE;AAC/C,KAAK;AACL,CAAC,CAAC;AACF,IAAI,QAAQ,GAAG,MAAM,CAAC;AACtB,IAAI,IAAI,EAAE;AACV,QAAQ,IAAI,EAAE,gBAAgB,CAAC,IAAI;AACnC,QAAQ,OAAO,EAAE,YAAY;AAC7B,YAAY,aAAa,CAAC,MAAM,CAAC,UAAU,YAAY,EAAE;AACzD,gBAAgB,IAAI,UAAU,EAAE;AAChC,oBAAoB,OAAO,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM;AAC9D;AACA,qBAAqB;AACrB,oBAAoB,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACzE;AACA,aAAa,CAAC;AACd,SAAS;AACT,KAAK;AACL,IAAI,EAAE,EAAE;AACR,QAAQ,IAAI,EAAE,gBAAgB,CAAC,EAAE;AACjC,QAAQ,OAAO,EAAE,YAAY;AAC7B,YAAY,aAAa,CAAC,MAAM,CAAC,UAAU,YAAY,EAAE;AACzD,gBAAgB,IAAI,UAAU,EAAE;AAChC,oBAAoB,OAAO,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,MAAM;AAC/E;AACA,qBAAqB;AACrB,oBAAoB,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC;AACxD;AACA,aAAa,CAAC;AACd,SAAS;AACT,KAAK;AACL,IAAI,KAAK,EAAE;AACX,QAAQ,IAAI,EAAE,gBAAgB,CAAC,MAAM;AACrC,QAAQ,OAAO,EAAE,YAAY;AAC7B,YAAY,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;AACzF,SAAS;AACT,KAAK;AACL,CAAC,CAAC;AACF,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,CAACA,WAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC1L,QAAQ,OAAO;AACf;;;;"}
|
package/dist/index38.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { useProps, useDefineProps, animatedSignal, h, Container, Rect, Text } from 'canvasengine';
|
|
2
|
-
|
|
3
|
-
function component($$props) {
|
|
4
|
-
useProps($$props);
|
|
5
|
-
const defineProps = useDefineProps($$props);
|
|
6
|
-
var _a = defineProps(), text = _a.text, isSelected = _a.isSelected;
|
|
7
|
-
var alpha = animatedSignal(1, {
|
|
8
|
-
repeatType: "reverse",
|
|
9
|
-
duration: 500,
|
|
10
|
-
repeat: Infinity,
|
|
11
|
-
});
|
|
12
|
-
alpha.set(0.5);
|
|
13
|
-
var height = 40;
|
|
14
|
-
var width = 256;
|
|
15
|
-
let $this = h(Container, null, [h(Rect, { width, height, color: '#595971', alpha, visible: isSelected }), h(Container, { flexDirection: 'row', alignItems: 'center', justifyContent: 'center' }, h(Text, { text, color: '#fff', fontSize: 18, margin: 10 }))]);
|
|
16
|
-
return $this
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export { component as default };
|
|
20
|
-
//# sourceMappingURL=index38.js.map
|
package/dist/index38.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index38.js","sources":["../src/components/gui/dialogbox/itemMenu.ce"],"sourcesContent":["<Container>\n <Rect width height color=\"#595971\" alpha visible={isSelected} />\n <Container flexDirection=\"row\" alignItems=\"center\" justifyContent=\"center\">\n <Text text color=\"#fff\" fontSize={18} margin={10} />\n </Container>\n</Container>\n\n<script>\nimport { animatedSignal } from \"canvasengine\";\n\nconst { text, isSelected } = defineProps();\n\nconst alpha = animatedSignal(1, {\n repeatType: \"reverse\",\n duration: 500,\n repeat: Infinity,\n});\n\nalpha.set(0.5);\n\nconst height = 40;\nconst width = 256;\n</script>"],"names":[],"mappings":";;AAQqB,SAAS,SAAS,CAAC,OAAO,EAAE;AACjD,QAAuB,QAAQ,CAAC,OAAO;AACvC,QAAQ,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO;AAClD,QAAQ,IAAI,EAAE,GAAG,WAAW,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,EAAE,CAAC,UAAU;AAC1E,IAAI,KAAK,GAAG,cAAc,CAAC,CAAC,EAAE;AAC9B,IAAI,UAAU,EAAE,SAAS;AACzB,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,MAAM,EAAE,QAAQ;AACpB,CAAC,CAAC;AACF,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AACd,IAAI,MAAM,GAAG,EAAE;AACf,IAAI,KAAK,GAAG,GAAG;AACf,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACrQ,QAAQ,OAAO;AACf;;;;"}
|
package/dist/index39.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { RpgCommonPlayer } from '@rpgjs/common';
|
|
2
|
-
import { trigger, signal } from 'canvasengine';
|
|
3
|
-
|
|
4
|
-
class RpgClientObject extends RpgCommonPlayer {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.emitParticleTrigger = trigger();
|
|
8
|
-
this.particleName = signal("");
|
|
9
|
-
}
|
|
10
|
-
flash(color, duration = 100) {
|
|
11
|
-
const lastTint = this.tint();
|
|
12
|
-
this.tint.set(color);
|
|
13
|
-
setTimeout(() => {
|
|
14
|
-
this.tint.set(lastTint);
|
|
15
|
-
}, duration);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export { RpgClientObject };
|
|
20
|
-
//# sourceMappingURL=index39.js.map
|
package/dist/index39.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index39.js","sources":["../src/Game/Object.ts"],"sourcesContent":["import { RpgCommonPlayer } from \"@rpgjs/common\";\nimport { trigger, signal } from \"canvasengine\";\n\nexport abstract class RpgClientObject extends RpgCommonPlayer {\n abstract type: string;\n emitParticleTrigger = trigger()\n particleName = signal('')\n\n flash(color: string, duration: number = 100) {\n const lastTint = this.tint()\n this.tint.set(color);\n setTimeout(() => {\n this.tint.set(lastTint)\n }, duration)\n }\n} "],"names":[],"mappings":";;;AAGO,MAAe,wBAAwB,eAAgB,CAAA;AAAA,EAAvD,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AAEL,IAAA,IAAA,CAAA,mBAAA,GAAsB,OAAQ,EAAA;AAC9B,IAAA,IAAA,CAAA,YAAA,GAAe,OAAO,EAAE,CAAA;AAAA;AAAA,EAExB,KAAA,CAAM,KAAe,EAAA,QAAA,GAAmB,GAAK,EAAA;AAC3C,IAAM,MAAA,QAAA,GAAW,KAAK,IAAK,EAAA;AAC3B,IAAK,IAAA,CAAA,IAAA,CAAK,IAAI,KAAK,CAAA;AACnB,IAAA,UAAA,CAAW,MAAM;AACf,MAAK,IAAA,CAAA,IAAA,CAAK,IAAI,QAAQ,CAAA;AAAA,OACrB,QAAQ,CAAA;AAAA;AAEf;;;;"}
|
package/dist/index4.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { connectionRoom } from './index22.js';
|
|
2
|
-
import { RpgGui } from './index9.js';
|
|
3
|
-
import { RpgClientEngine } from './index2.js';
|
|
4
|
-
import { WebSocketToken, AbstractWebsocket } from './index17.js';
|
|
5
|
-
import { UpdateMapToken, UpdateMapService } from '@rpgjs/common';
|
|
6
|
-
|
|
7
|
-
class BridgeWebsocket extends AbstractWebsocket {
|
|
8
|
-
constructor(context, options = {}) {
|
|
9
|
-
super(context);
|
|
10
|
-
this.context = context;
|
|
11
|
-
this.options = options;
|
|
12
|
-
}
|
|
13
|
-
async connection(listeners) {
|
|
14
|
-
class Room {
|
|
15
|
-
}
|
|
16
|
-
const instance = new Room();
|
|
17
|
-
this.socket = await connectionRoom({
|
|
18
|
-
host: this.options.host || window.location.host,
|
|
19
|
-
room: "lobby-1"
|
|
20
|
-
}, instance);
|
|
21
|
-
listeners?.(this.socket);
|
|
22
|
-
}
|
|
23
|
-
on(key, callback) {
|
|
24
|
-
this.socket.on(key, callback);
|
|
25
|
-
}
|
|
26
|
-
off(event, callback) {
|
|
27
|
-
this.socket.off(event, callback);
|
|
28
|
-
}
|
|
29
|
-
emit(event, data) {
|
|
30
|
-
this.socket.emit(event, data);
|
|
31
|
-
}
|
|
32
|
-
updateProperties({ room }) {
|
|
33
|
-
this.socket.conn.updateProperties({
|
|
34
|
-
room,
|
|
35
|
-
host: this.options.host
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
async reconnect(listeners) {
|
|
39
|
-
this.socket.conn.reconnect();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
class UpdateMapStandaloneService extends UpdateMapService {
|
|
43
|
-
constructor(context, options) {
|
|
44
|
-
super(context);
|
|
45
|
-
this.context = context;
|
|
46
|
-
this.options = options;
|
|
47
|
-
}
|
|
48
|
-
async update(map) {
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function provideMmorpg(options) {
|
|
52
|
-
return [
|
|
53
|
-
{
|
|
54
|
-
provide: WebSocketToken,
|
|
55
|
-
useFactory: (context) => new BridgeWebsocket(context, options)
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
provide: UpdateMapToken,
|
|
59
|
-
useFactory: (context) => new UpdateMapStandaloneService(context, options)
|
|
60
|
-
},
|
|
61
|
-
RpgGui,
|
|
62
|
-
RpgClientEngine
|
|
63
|
-
];
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export { provideMmorpg };
|
|
67
|
-
//# sourceMappingURL=index4.js.map
|
package/dist/index4.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index4.js","sources":["../src/services/mmorpg.ts"],"sourcesContent":["import { Context } from \"@signe/di\";\nimport { connectionRoom } from \"@signe/sync/client\";\nimport { RpgGui } from \"../Gui/Gui\";\nimport { RpgClientEngine } from \"../RpgClientEngine\";\nimport { AbstractWebsocket, WebSocketToken } from \"./AbstractSocket\";\nimport { UpdateMapService, UpdateMapToken } from \"@rpgjs/common\";\n\ninterface MmorpgOptions {\n host?: string;\n}\n\nclass BridgeWebsocket extends AbstractWebsocket {\n private socket: any;\n\n constructor(protected context: Context, private options: MmorpgOptions = {}) {\n super(context);\n }\n\n async connection(listeners?: (data: any) => void) {\n // tmp\n class Room {\n \n }\n const instance = new Room()\n this.socket = await connectionRoom({\n host: this.options.host || window.location.host,\n room: \"lobby-1\",\n }, instance)\n\n listeners?.(this.socket)\n }\n\n on(key: string, callback: (data: any) => void) {\n this.socket.on(key, callback);\n }\n\n off(event: string, callback: (data: any) => void) {\n this.socket.off(event, callback);\n }\n\n emit(event: string, data: any) {\n this.socket.emit(event, data);\n }\n\n updateProperties({ room }: { room: any }) {\n this.socket.conn.updateProperties({\n room: room,\n host: this.options.host\n })\n }\n\n async reconnect(listeners?: (data: any) => void) {\n this.socket.conn.reconnect()\n }\n}\n\nclass UpdateMapStandaloneService extends UpdateMapService {\n constructor(protected context: Context, private options: MmorpgOptions) {\n super(context);\n }\n\n async update(map: any) {\n // nothing\n }\n}\n\nexport function provideMmorpg(options: MmorpgOptions) {\n return [\n {\n provide: WebSocketToken,\n useFactory: (context: Context) => new BridgeWebsocket(context, options),\n },\n {\n provide: UpdateMapToken,\n useFactory: (context: Context) => new UpdateMapStandaloneService(context, options),\n },\n RpgGui,\n RpgClientEngine,\n ];\n}\n"],"names":[],"mappings":";;;;;;AAWA,MAAM,wBAAwB,iBAAkB,CAAA;AAAA,EAG9C,WAAsB,CAAA,OAAA,EAA0B,OAAyB,GAAA,EAAI,EAAA;AAC3E,IAAA,KAAA,CAAM,OAAO,CAAA;AADO,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAA0B,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAAA;AAEhD,EAEA,MAAM,WAAW,SAAiC,EAAA;AAAA,IAEhD,MAAM,IAAK,CAAA;AAAA;AAGX,IAAM,MAAA,QAAA,GAAW,IAAI,IAAK,EAAA;AAC1B,IAAK,IAAA,CAAA,MAAA,GAAS,MAAM,cAAe,CAAA;AAAA,MAC/B,IAAM,EAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,IAAQ,OAAO,QAAS,CAAA,IAAA;AAAA,MAC3C,IAAM,EAAA;AAAA,OACP,QAAQ,CAAA;AAEX,IAAA,SAAA,GAAY,KAAK,MAAM,CAAA;AAAA;AACzB,EAEA,EAAA,CAAG,KAAa,QAA+B,EAAA;AAC7C,IAAK,IAAA,CAAA,MAAA,CAAO,EAAG,CAAA,GAAA,EAAK,QAAQ,CAAA;AAAA;AAC9B,EAEA,GAAA,CAAI,OAAe,QAA+B,EAAA;AAChD,IAAK,IAAA,CAAA,MAAA,CAAO,GAAI,CAAA,KAAA,EAAO,QAAQ,CAAA;AAAA;AACjC,EAEA,IAAA,CAAK,OAAe,IAAW,EAAA;AAC7B,IAAK,IAAA,CAAA,MAAA,CAAO,IAAK,CAAA,KAAA,EAAO,IAAI,CAAA;AAAA;AAC9B,EAEA,gBAAA,CAAiB,EAAE,IAAA,EAAuB,EAAA;AACxC,IAAK,IAAA,CAAA,MAAA,CAAO,KAAK,gBAAiB,CAAA;AAAA,MAChC,IAAA;AAAA,MACA,IAAA,EAAM,KAAK,OAAQ,CAAA;AAAA,KACpB,CAAA;AAAA;AACH,EAEA,MAAM,UAAU,SAAiC,EAAA;AAChD,IAAK,IAAA,CAAA,MAAA,CAAO,KAAK,SAAU,EAAA;AAAA;AAE9B;AAEA,MAAM,mCAAmC,gBAAiB,CAAA;AAAA,EACxD,WAAA,CAAsB,SAA0B,OAAwB,EAAA;AACtE,IAAA,KAAA,CAAM,OAAO,CAAA;AADO,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAA0B,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAAA;AAEhD,EAEA,MAAM,OAAO,GAAU,EAAA;AAAA;AAGzB;AAEO,SAAS,cAAc,OAAwB,EAAA;AACpD,EAAO,OAAA;AAAA,IACL;AAAA,MACE,OAAS,EAAA,cAAA;AAAA,MACT,YAAY,CAAC,OAAA,KAAqB,IAAI,eAAA,CAAgB,SAAS,OAAO;AAAA,KACxE;AAAA,IACA;AAAA,MACE,OAAS,EAAA,cAAA;AAAA,MACT,YAAY,CAAC,OAAA,KAAqB,IAAI,0BAAA,CAA2B,SAAS,OAAO;AAAA,KACnF;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
package/dist/index5.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Context, injector, inject } from './index16.js';
|
|
2
|
-
import { RpgClientEngine } from './index2.js';
|
|
3
|
-
import { setInject } from './index6.js';
|
|
4
|
-
|
|
5
|
-
async function startGame(options) {
|
|
6
|
-
const context = new Context();
|
|
7
|
-
context["side"] = "client";
|
|
8
|
-
setInject(context);
|
|
9
|
-
await injector(context, options.providers);
|
|
10
|
-
const engine = inject(context, RpgClientEngine);
|
|
11
|
-
await engine.start();
|
|
12
|
-
return context;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { startGame };
|
|
16
|
-
//# sourceMappingURL=index5.js.map
|
package/dist/index5.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index5.js","sources":["../src/core/setup.ts"],"sourcesContent":["import { Context, FactoryProvider, findProvider, findProviders, inject, injector, Providers } from \"@signe/di\";\nimport { RpgClientEngine } from \"../RpgClientEngine\";\nimport { setInject } from \"./inject\";\n\ninterface SetupOptions {\n providers: Providers;\n}\n\n\nexport async function startGame(options: SetupOptions) {\n const context = new Context();\n context['side'] = 'client'\n setInject(context);\n\n await injector(context, options.providers);\n\n const engine = inject(context, RpgClientEngine);\n await engine.start();\n return context;\n}"],"names":[],"mappings":";;;;AASA,eAAsB,UAAU,OAAuB,EAAA;AACrD,EAAM,MAAA,OAAA,GAAU,IAAI,OAAQ,EAAA;AAC5B,EAAA,OAAA,CAAQ,MAAM,CAAI,GAAA,QAAA;AAClB,EAAA,SAAA,CAAU,OAAO,CAAA;AAEjB,EAAM,MAAA,QAAA,CAAS,OAAS,EAAA,OAAA,CAAQ,SAAS,CAAA;AAEzC,EAAM,MAAA,MAAA,GAAS,MAAO,CAAA,OAAA,EAAS,eAAe,CAAA;AAC9C,EAAA,MAAM,OAAO,KAAM,EAAA;AACnB,EAAO,OAAA,OAAA;AACT;;;;"}
|
package/dist/index6.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { inject as inject$1 } from './index16.js';
|
|
2
|
-
|
|
3
|
-
let context = null;
|
|
4
|
-
function inject(service, _context) {
|
|
5
|
-
const c = _context ?? context;
|
|
6
|
-
if (!c) throw new Error("Context is not set. use setInject() to set the context");
|
|
7
|
-
return inject$1(c, service);
|
|
8
|
-
}
|
|
9
|
-
function setInject(_context) {
|
|
10
|
-
context = _context;
|
|
11
|
-
}
|
|
12
|
-
function clearInject() {
|
|
13
|
-
context = null;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export { clearInject, context, inject, setInject };
|
|
17
|
-
//# sourceMappingURL=index6.js.map
|
package/dist/index6.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index6.js","sources":["../src/core/inject.ts"],"sourcesContent":["import { Context, inject as injector } from \"@signe/di\";\n\nexport let context: Context | null = null\n\nexport function inject<T>(service: (new (...args: any[]) => T) | string, _context?: Context): T {\n const c = _context ?? context\n if (!c) throw new Error(\"Context is not set. use setInject() to set the context\");\n return injector(c, service);\n}\n\nexport function setInject(_context: Context) {\n context = _context;\n}\n\nexport function clearInject() {\n context = null\n}"],"names":["injector"],"mappings":";;AAEO,IAAI,OAA0B,GAAA;AAErB,SAAA,MAAA,CAAU,SAA+C,QAAuB,EAAA;AAC5F,EAAA,MAAM,IAAI,QAAY,IAAA,OAAA;AACtB,EAAA,IAAI,CAAC,CAAA,EAAS,MAAA,IAAI,MAAM,wDAAwD,CAAA;AAChF,EAAO,OAAAA,QAAA,CAAS,GAAG,OAAO,CAAA;AAC9B;AAEO,SAAS,UAAU,QAAmB,EAAA;AACzC,EAAU,OAAA,GAAA,QAAA;AACd;AAEO,SAAS,WAAc,GAAA;AAC1B,EAAU,OAAA,GAAA,IAAA;AACd;;;;"}
|
package/dist/index7.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { inject } from './index16.js';
|
|
2
|
-
import { UpdateMapToken } from '@rpgjs/common';
|
|
3
|
-
|
|
4
|
-
const LoadMapToken = "LoadMapToken";
|
|
5
|
-
class LoadMapService {
|
|
6
|
-
constructor(context, options) {
|
|
7
|
-
this.context = context;
|
|
8
|
-
this.options = options;
|
|
9
|
-
if (context["side"] === "server") {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
this.updateMapService = inject(context, UpdateMapToken);
|
|
13
|
-
}
|
|
14
|
-
async load(mapId) {
|
|
15
|
-
const map = await this.options(mapId.replace("map-", ""));
|
|
16
|
-
await this.updateMapService.update(mapId, map);
|
|
17
|
-
return map;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
function provideLoadMap(options) {
|
|
21
|
-
return [
|
|
22
|
-
{
|
|
23
|
-
provide: UpdateMapToken,
|
|
24
|
-
useFactory: (context) => {
|
|
25
|
-
if (context["side"] === "client") {
|
|
26
|
-
console.warn("UpdateMapToken is not overridden");
|
|
27
|
-
}
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
provide: LoadMapToken,
|
|
33
|
-
useFactory: (context) => new LoadMapService(context, options)
|
|
34
|
-
}
|
|
35
|
-
];
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export { LoadMapService, LoadMapToken, provideLoadMap };
|
|
39
|
-
//# sourceMappingURL=index7.js.map
|
package/dist/index7.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index7.js","sources":["../src/services/loadMap.ts"],"sourcesContent":["import { Context, inject } from \"@signe/di\";\nimport { UpdateMapToken, UpdateMapService } from \"@rpgjs/common\";\n\nexport const LoadMapToken = 'LoadMapToken'\n\n/**\n * Represents the structure of map data that should be returned by the load map callback.\n * This interface defines all the properties that can be provided when loading a custom map.\n * \n * @interface MapData\n */\ntype MapData = {\n /** Raw map data that will be passed to the map component */\n data: any;\n /** CanvasEngine component that will render the map */\n component: any;\n /** Optional map width in pixels, used for viewport calculations */\n width?: number;\n /** Optional map height in pixels, used for viewport calculations */\n height?: number;\n /** Optional map events data (NPCs, interactive objects, etc.) */\n events?: any;\n /** Optional map identifier, defaults to the mapId parameter if not provided */\n id?: string;\n}\n\n/**\n * Callback function type for loading map data.\n * This function receives a map ID and should return either a MapData object directly\n * or a Promise that resolves to a MapData object.\n * \n * @callback LoadMapOptions\n * @param {string} mapId - The identifier of the map to load\n * @returns {Promise<MapData> | MapData} The map data object or a promise resolving to it\n */\nexport type LoadMapOptions = (mapId: string) => Promise<MapData> | MapData \n\nexport class LoadMapService {\n private updateMapService: UpdateMapService;\n\n constructor(private context: Context, private options: LoadMapOptions) {\n if (context['side'] === 'server') {\n return\n }\n this.updateMapService = inject(context, UpdateMapToken);\n }\n\n async load(mapId: string) {\n const map = await this.options(mapId.replace('map-', ''))\n await this.updateMapService.update(mapId, map);\n return map;\n }\n}\n\n/**\n * Creates a dependency injection configuration for custom map loading on the client side.\n * \n * This function allows you to customize how maps are loaded and displayed by providing\n * a callback that defines custom map data and rendering components. It's designed to work\n * with the RPG-JS dependency injection system and enables integration of custom map formats\n * like Tiled TMX files or any other map data structure.\n * \n * The function sets up the necessary service providers for map loading, including:\n * - UpdateMapToken: Handles map updates in the client context\n * - LoadMapToken: Provides the LoadMapService with your custom loading logic\n * \n * **Design Concept:**\n * The function follows the provider pattern, creating a modular way to inject custom\n * map loading behavior into the RPG-JS client engine. It separates the concern of\n * map data fetching from map rendering, allowing developers to focus on their specific\n * map format while leveraging the engine's rendering capabilities.\n * \n * @param {LoadMapOptions} options - Callback function that handles map loading logic\n * @returns {Array<Object>} Array of dependency injection provider configurations\n * \n * @example\n * ```typescript\n * import { provideLoadMap } from '@rpgjs/client'\n * import { createModule } from '@rpgjs/common'\n * import MyTiledMapComponent from './MyTiledMapComponent.ce'\n * \n * // Basic usage with JSON map data\n * export function provideCustomMap() {\n * return createModule(\"CustomMap\", [\n * provideLoadMap(async (mapId) => {\n * const response = await fetch(`/maps/${mapId}.json`)\n * const mapData = await response.json()\n * \n * return {\n * data: mapData,\n * component: MyTiledMapComponent,\n * width: mapData.width,\n * height: mapData.height,\n * events: mapData.events\n * }\n * })\n * ])\n * }\n * \n * // Advanced usage with Tiled TMX files\n * export function provideTiledMap() {\n * return createModule(\"TiledMap\", [\n * provideLoadMap(async (mapId) => {\n * // Load TMX file\n * const tmxResponse = await fetch(`/tiled/${mapId}.tmx`)\n * const tmxData = await tmxResponse.text()\n * \n * // Parse TMX data (using a TMX parser)\n * const parsedMap = parseTMX(tmxData)\n * \n * return {\n * data: parsedMap,\n * component: TiledMapRenderer,\n * width: parsedMap.width * parsedMap.tilewidth,\n * height: parsedMap.height * parsedMap.tileheight,\n * events: parsedMap.objectGroups?.find(g => g.name === 'events')?.objects\n * }\n * })\n * ])\n * }\n * \n * // Synchronous usage for static maps\n * export function provideStaticMap() {\n * return createModule(\"StaticMap\", [\n * provideLoadMap((mapId) => {\n * const staticMaps = {\n * 'town': { tiles: [...], npcs: [...] },\n * 'dungeon': { tiles: [...], monsters: [...] }\n * }\n * \n * return {\n * data: staticMaps[mapId],\n * component: StaticMapComponent,\n * width: 800,\n * height: 600\n * }\n * })\n * ])\n * }\n * ```\n * \n * @since 4.0.0\n * @see {@link LoadMapOptions} for callback function signature\n * @see {@link MapData} for return data structure\n */\nexport function provideLoadMap(options: LoadMapOptions) {\n return [\n {\n provide: UpdateMapToken,\n useFactory: (context: Context) => {\n if (context['side'] === 'client') {\n console.warn('UpdateMapToken is not overridden')\n }\n return\n },\n },\n {\n provide: LoadMapToken,\n useFactory: (context: Context) => new LoadMapService(context, options),\n },\n ];\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,YAAe,GAAA;AAkCrB,MAAM,cAAe,CAAA;AAAA,EAG1B,WAAA,CAAoB,SAA0B,OAAyB,EAAA;AAAnD,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAA0B,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAC5C,IAAI,IAAA,OAAA,CAAQ,MAAM,CAAA,KAAM,QAAU,EAAA;AAChC,MAAA;AAAA;AAEF,IAAK,IAAA,CAAA,gBAAA,GAAmB,MAAO,CAAA,OAAA,EAAS,cAAc,CAAA;AAAA;AACxD,EAEA,MAAM,KAAK,KAAe,EAAA;AACxB,IAAM,MAAA,GAAA,GAAM,MAAM,IAAK,CAAA,OAAA,CAAQ,MAAM,OAAQ,CAAA,MAAA,EAAQ,EAAE,CAAC,CAAA;AACxD,IAAA,MAAM,IAAK,CAAA,gBAAA,CAAiB,MAAO,CAAA,KAAA,EAAO,GAAG,CAAA;AAC7C,IAAO,OAAA,GAAA;AAAA;AAEX;AA6FO,SAAS,eAAe,OAAyB,EAAA;AACtD,EAAO,OAAA;AAAA,IACL;AAAA,MACE,OAAS,EAAA,cAAA;AAAA,MACT,UAAA,EAAY,CAAC,OAAqB,KAAA;AAChC,QAAI,IAAA,OAAA,CAAQ,MAAM,CAAA,KAAM,QAAU,EAAA;AAChC,UAAA,OAAA,CAAQ,KAAK,kCAAkC,CAAA;AAAA;AAEjD,QAAA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,OAAS,EAAA,YAAA;AAAA,MACT,YAAY,CAAC,OAAA,KAAqB,IAAI,cAAA,CAAe,SAAS,OAAO;AAAA;AACvE,GACF;AACF;;;;"}
|