@kbve/laser 0.0.7 → 0.1.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/README.md +40 -10
- package/laser.es.js +376 -0
- package/package.json +54 -24
- package/src/index.d.ts +0 -19
- package/src/index.js +0 -37
- package/src/index.js.map +0 -1
- package/src/lib/animations/TypewriterComponent.d.ts +0 -8
- package/src/lib/animations/TypewriterComponent.js +0 -53
- package/src/lib/animations/TypewriterComponent.js.map +0 -1
- package/src/lib/constants.d.ts +0 -2
- package/src/lib/constants.js +0 -6
- package/src/lib/constants.js.map +0 -1
- package/src/lib/eventhandler.d.ts +0 -31
- package/src/lib/eventhandler.js +0 -45
- package/src/lib/eventhandler.js.map +0 -1
- package/src/lib/icon/CollapseIcon.d.ts +0 -4
- package/src/lib/icon/CollapseIcon.js +0 -10
- package/src/lib/icon/CollapseIcon.js.map +0 -1
- package/src/lib/icon/ExpandIcon.d.ts +0 -4
- package/src/lib/icon/ExpandIcon.js +0 -10
- package/src/lib/icon/ExpandIcon.js.map +0 -1
- package/src/lib/laser.d.ts +0 -1
- package/src/lib/laser.js +0 -8
- package/src/lib/laser.js.map +0 -1
- package/src/lib/localdb.d.ts +0 -55
- package/src/lib/localdb.js +0 -591
- package/src/lib/localdb.js.map +0 -1
- package/src/lib/minigame/dice/MinigameDice.d.ts +0 -4
- package/src/lib/minigame/dice/MinigameDice.js +0 -85
- package/src/lib/minigame/dice/MinigameDice.js.map +0 -1
- package/src/lib/phaser/monster/bird.d.ts +0 -7
- package/src/lib/phaser/monster/bird.js +0 -44
- package/src/lib/phaser/monster/bird.js.map +0 -1
- package/src/lib/phaser/npc/chatbubble.d.ts +0 -10
- package/src/lib/phaser/npc/chatbubble.js +0 -78
- package/src/lib/phaser/npc/chatbubble.js.map +0 -1
- package/src/lib/phaser/npc/npcdatabase.d.ts +0 -56
- package/src/lib/phaser/npc/npcdatabase.js +0 -497
- package/src/lib/phaser/npc/npcdatabase.js.map +0 -1
- package/src/lib/phaser/npc/npchandler.d.ts +0 -20
- package/src/lib/phaser/npc/npchandler.js +0 -114
- package/src/lib/phaser/npc/npchandler.js.map +0 -1
- package/src/lib/phaser/npc/tooltipmenu.d.ts +0 -17
- package/src/lib/phaser/npc/tooltipmenu.js +0 -68
- package/src/lib/phaser/npc/tooltipmenu.js.map +0 -1
- package/src/lib/phaser/player/playercontroller.d.ts +0 -24
- package/src/lib/phaser/player/playercontroller.js +0 -219
- package/src/lib/phaser/player/playercontroller.js.map +0 -1
- package/src/lib/quadtree.d.ts +0 -37
- package/src/lib/quadtree.js +0 -123
- package/src/lib/quadtree.js.map +0 -1
- package/src/lib/utils/debug.d.ts +0 -8
- package/src/lib/utils/debug.js +0 -46
- package/src/lib/utils/debug.js.map +0 -1
- package/src/lib/utils/loader.d.ts +0 -3
- package/src/lib/utils/loader.js +0 -87
- package/src/lib/utils/loader.js.map +0 -1
- package/src/lib/utils/ulid.d.ts +0 -1
- package/src/lib/utils/ulid.js +0 -38
- package/src/lib/utils/ulid.js.map +0 -1
- package/src/types.d.ts +0 -381
- package/src/types.js +0 -14
- package/src/types.js.map +0 -1
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
// MinigameDice.tsx
|
|
6
|
-
const react_1 = require("react");
|
|
7
|
-
const fiber_1 = require("@react-three/fiber");
|
|
8
|
-
const react_2 = require("@nanostores/react");
|
|
9
|
-
const eventhandler_1 = require("../../eventhandler");
|
|
10
|
-
const localdb_1 = require("../../localdb");
|
|
11
|
-
const types_1 = require("../../../types");
|
|
12
|
-
const THREE = tslib_1.__importStar(require("three"));
|
|
13
|
-
const diceOrientations = [
|
|
14
|
-
new THREE.Euler(-Math.PI / 2, -Math.PI / 2, -Math.PI / 2), // 1
|
|
15
|
-
new THREE.Euler(0, Math.PI / 2, 0), // 2
|
|
16
|
-
new THREE.Euler(0, -Math.PI / 2, -Math.PI / 2), // 3
|
|
17
|
-
new THREE.Euler(Math.PI / 2, Math.PI, Math.PI), // 4
|
|
18
|
-
new THREE.Euler(0, 0, -Math.PI / 2), // 5
|
|
19
|
-
new THREE.Euler(Math.PI, 0, 0) // 6
|
|
20
|
-
];
|
|
21
|
-
const PixelatedDice = ({ diceValues, isRolling, textures }) => {
|
|
22
|
-
const diceRefs = (0, react_1.useRef)([]);
|
|
23
|
-
const materialsRef = (0, react_1.useRef)([]);
|
|
24
|
-
(0, react_1.useEffect)(() => {
|
|
25
|
-
const loader = new THREE.TextureLoader();
|
|
26
|
-
//const yellowTint = new THREE.Color(0xffff00);
|
|
27
|
-
const yellowTint = new THREE.Color(0xFFD700);
|
|
28
|
-
materialsRef.current = [
|
|
29
|
-
new THREE.MeshStandardMaterial({ map: loader.load(textures.side1), color: yellowTint }),
|
|
30
|
-
new THREE.MeshStandardMaterial({ map: loader.load(textures.side2), color: yellowTint }),
|
|
31
|
-
new THREE.MeshStandardMaterial({ map: loader.load(textures.side3), color: yellowTint }),
|
|
32
|
-
new THREE.MeshStandardMaterial({ map: loader.load(textures.side4), color: yellowTint }),
|
|
33
|
-
new THREE.MeshStandardMaterial({ map: loader.load(textures.side5), color: yellowTint }),
|
|
34
|
-
new THREE.MeshStandardMaterial({ map: loader.load(textures.side6), color: yellowTint }),
|
|
35
|
-
];
|
|
36
|
-
diceRefs.current.forEach((dice) => {
|
|
37
|
-
if (dice) {
|
|
38
|
-
dice.material = materialsRef.current;
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}, [textures]);
|
|
42
|
-
(0, fiber_1.useFrame)(() => {
|
|
43
|
-
diceRefs.current.forEach((dice, index) => {
|
|
44
|
-
if (dice) {
|
|
45
|
-
if (isRolling) {
|
|
46
|
-
dice.rotation.x += 0.2;
|
|
47
|
-
dice.rotation.y += 0.2;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
const targetRotation = diceOrientations[diceValues[index] - 1];
|
|
51
|
-
dice.rotation.x = THREE.MathUtils.lerp(dice.rotation.x, targetRotation.x, 0.1);
|
|
52
|
-
dice.rotation.y = THREE.MathUtils.lerp(dice.rotation.y, targetRotation.y, 0.1);
|
|
53
|
-
dice.rotation.z = THREE.MathUtils.lerp(dice.rotation.z, targetRotation.z, 0.1);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: diceValues.map((value, index) => ((0, jsx_runtime_1.jsxs)("mesh", { ref: el => diceRefs.current[index] = el, position: [index * 2 - (diceValues.length - 1), 0, 0], children: [(0, jsx_runtime_1.jsx)("boxGeometry", { args: [1, 1, 1] }), materialsRef.current.length === 6 && materialsRef.current.map((material, i) => ((0, jsx_runtime_1.jsx)("meshStandardMaterial", Object.assign({ attach: `material-${i}` }, material), i)))] }, index))) }));
|
|
59
|
-
};
|
|
60
|
-
const MinigameDice = ({ styleClass, textures, diceCount }) => {
|
|
61
|
-
const state = (0, react_2.useStore)(localdb_1.minigameState);
|
|
62
|
-
(0, react_1.useEffect)(() => {
|
|
63
|
-
(0, localdb_1.setGameMode)('Dice');
|
|
64
|
-
(0, localdb_1.setTextures)(textures);
|
|
65
|
-
(0, localdb_1.setAction)({
|
|
66
|
-
type: 'ROLL_DICE',
|
|
67
|
-
diceValues: Array(diceCount).fill(1),
|
|
68
|
-
isRolling: false,
|
|
69
|
-
});
|
|
70
|
-
}, [textures, diceCount]);
|
|
71
|
-
const rollDice = () => {
|
|
72
|
-
(0, localdb_1.setRollingStatus)(true);
|
|
73
|
-
setTimeout(() => {
|
|
74
|
-
const newValues = Array.from({ length: diceCount }, () => Math.floor(Math.random() * 6) + 1);
|
|
75
|
-
(0, localdb_1.updateDiceValues)(newValues);
|
|
76
|
-
(0, localdb_1.setRollingStatus)(false);
|
|
77
|
-
// Emit the roll result
|
|
78
|
-
const rollResult = { diceValues: newValues };
|
|
79
|
-
eventhandler_1.EventEmitter.emit('diceRollResult', rollResult);
|
|
80
|
-
}, 2000); // Duration matches the animation
|
|
81
|
-
};
|
|
82
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: `flex flex-col items-center justify-center p-4 ${styleClass}`, children: [(0, jsx_runtime_1.jsx)("h1", { className: "text-2xl font-bold mb-4", children: "Dice Roller" }), (0, jsx_runtime_1.jsxs)(fiber_1.Canvas, { className: "w-full h-full", camera: { position: [0, 0, 5] }, children: [(0, jsx_runtime_1.jsx)("ambientLight", { intensity: 2.5 }), (0, jsx_runtime_1.jsx)("pointLight", { position: [10, 10, 10] }), (0, types_1.isDiceAction)(state.action) && ((0, jsx_runtime_1.jsx)(PixelatedDice, { diceValues: state.action.diceValues, isRolling: state.action.isRolling, textures: state.textures }))] }), (0, types_1.isDiceAction)(state.action) && ((0, jsx_runtime_1.jsx)("button", { onClick: rollDice, className: `mt-4 p-2 border border-yellow-300 rounded text-yellow-400 hover:scale-110 ${state.action.isRolling ? 'opacity-50' : ''}`, disabled: state.action.isRolling, children: "Roll Dice" }))] }));
|
|
83
|
-
};
|
|
84
|
-
exports.default = MinigameDice;
|
|
85
|
-
//# sourceMappingURL=MinigameDice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MinigameDice.js","sourceRoot":"","sources":["../../../../../../../packages/laser/src/lib/minigame/dice/MinigameDice.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Scene } from 'phaser';
|
|
2
|
-
export declare function getBirdNum(charId: string): number;
|
|
3
|
-
export declare function isBird(charId: string): boolean;
|
|
4
|
-
export declare function createCroppedSprites(scene: Scene, x: number, y: number, width: number, height: number): Phaser.GameObjects.Sprite[];
|
|
5
|
-
export declare function createBirdSprites(scene: Scene): Phaser.GameObjects.Sprite[];
|
|
6
|
-
export declare function createShadowSprites(scene: Scene): Phaser.GameObjects.Sprite[];
|
|
7
|
-
export declare function createBirdAnimation(scene: Scene): void;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createBirdAnimation = exports.createShadowSprites = exports.createBirdSprites = exports.createCroppedSprites = exports.isBird = exports.getBirdNum = void 0;
|
|
4
|
-
function getBirdNum(charId) {
|
|
5
|
-
return +charId[charId.length - 1];
|
|
6
|
-
}
|
|
7
|
-
exports.getBirdNum = getBirdNum;
|
|
8
|
-
function isBird(charId) {
|
|
9
|
-
return charId.startsWith('monster_bird_') && !charId.startsWith('monster_bird_shadow');
|
|
10
|
-
}
|
|
11
|
-
exports.isBird = isBird;
|
|
12
|
-
function createCroppedSprites(scene, x, y, width, height) {
|
|
13
|
-
const croppedSprites = [];
|
|
14
|
-
for (let i = 0; i < 10; i++) {
|
|
15
|
-
const monsterBirdSprite = scene.add.sprite(0, 0, "monster_bird");
|
|
16
|
-
monsterBirdSprite.setCrop(x, y, width, height);
|
|
17
|
-
monsterBirdSprite.scale = 3;
|
|
18
|
-
croppedSprites.push(monsterBirdSprite);
|
|
19
|
-
}
|
|
20
|
-
return croppedSprites;
|
|
21
|
-
}
|
|
22
|
-
exports.createCroppedSprites = createCroppedSprites;
|
|
23
|
-
function createBirdSprites(scene) {
|
|
24
|
-
return createCroppedSprites(scene, 0, 0, 61, 47);
|
|
25
|
-
}
|
|
26
|
-
exports.createBirdSprites = createBirdSprites;
|
|
27
|
-
function createShadowSprites(scene) {
|
|
28
|
-
return createCroppedSprites(scene, 22, 47, 16, 10);
|
|
29
|
-
}
|
|
30
|
-
exports.createShadowSprites = createShadowSprites;
|
|
31
|
-
function createBirdAnimation(scene) {
|
|
32
|
-
scene.anims.create({
|
|
33
|
-
key: "bird",
|
|
34
|
-
frames: scene.anims.generateFrameNumbers("monster_bird", {
|
|
35
|
-
start: 0,
|
|
36
|
-
end: 2,
|
|
37
|
-
}),
|
|
38
|
-
frameRate: 10,
|
|
39
|
-
repeat: -1,
|
|
40
|
-
yoyo: true,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
exports.createBirdAnimation = createBirdAnimation;
|
|
44
|
-
//# sourceMappingURL=bird.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bird.js","sourceRoot":"","sources":["../../../../../../../packages/laser/src/lib/phaser/monster/bird.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAC,MAAc;IACvC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAFD,gCAEC;AAED,SAAgB,MAAM,CAAC,MAAc;IACnC,OAAO,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AACzF,CAAC;AAFD,wBAEC;AAED,SAAgB,oBAAoB,CAAC,KAAY,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;IACpG,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;QACjE,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC;QAC5B,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AATD,oDASC;AAED,SAAgB,iBAAiB,CAAC,KAAY;IAC5C,OAAO,oBAAoB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAFD,8CAEC;AAED,SAAgB,mBAAmB,CAAC,KAAY;IAC9C,OAAO,oBAAoB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAFD,kDAEC;AAED,SAAgB,mBAAmB,CAAC,KAAY;IAC9C,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM;QACX,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,cAAc,EAAE;YACvD,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;SACP,CAAC;QACF,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAXD,kDAWC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Scene } from 'phaser';
|
|
2
|
-
declare class ExtendedSprite extends Phaser.GameObjects.Sprite {
|
|
3
|
-
textBubble?: Phaser.GameObjects.Container;
|
|
4
|
-
messageBubble?: Phaser.GameObjects.Container;
|
|
5
|
-
}
|
|
6
|
-
export declare function createMessageBubble(scene: Scene, sprite: ExtendedSprite, text: string | string[], duration: number): Phaser.GameObjects.Container;
|
|
7
|
-
export declare function createTextBubble(scene: Scene, sprite: ExtendedSprite, text: string | string[]): Phaser.GameObjects.Container;
|
|
8
|
-
export declare function updateTextBubblePosition(sprite: ExtendedSprite): void;
|
|
9
|
-
export declare function updateMessageBubblePosition(sprite: ExtendedSprite): void;
|
|
10
|
-
export {};
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateMessageBubblePosition = exports.updateTextBubblePosition = exports.createTextBubble = exports.createMessageBubble = void 0;
|
|
4
|
-
class ExtendedSprite extends Phaser.GameObjects.Sprite {
|
|
5
|
-
}
|
|
6
|
-
function createMessageBubble(scene, sprite, text, duration) {
|
|
7
|
-
const bubbleWidth = 200;
|
|
8
|
-
const bubbleHeight = 60;
|
|
9
|
-
const bubblePadding = 10;
|
|
10
|
-
const bubble = scene.add.graphics();
|
|
11
|
-
bubble.fillStyle(0xffffff, 1);
|
|
12
|
-
bubble.fillRoundedRect(0, 0, bubbleWidth, bubbleHeight, 16);
|
|
13
|
-
bubble.setDepth(99);
|
|
14
|
-
const content = scene.add.text(100, 30, text, {
|
|
15
|
-
fontFamily: 'Arial',
|
|
16
|
-
fontSize: 16,
|
|
17
|
-
color: '#000000',
|
|
18
|
-
});
|
|
19
|
-
content.setOrigin(0.5);
|
|
20
|
-
content.setWordWrapWidth(bubbleWidth - bubblePadding * 2);
|
|
21
|
-
content.setDepth(100);
|
|
22
|
-
const container = scene.add.container(0, 0, [bubble, content]);
|
|
23
|
-
container.setDepth(100);
|
|
24
|
-
sprite.messageBubble = container;
|
|
25
|
-
updateMessageBubblePosition(sprite);
|
|
26
|
-
scene.time.addEvent({
|
|
27
|
-
delay: duration,
|
|
28
|
-
callback: () => {
|
|
29
|
-
container.destroy();
|
|
30
|
-
if (sprite.messageBubble === container) {
|
|
31
|
-
sprite.messageBubble = undefined;
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
callbackScope: scene
|
|
35
|
-
});
|
|
36
|
-
return container;
|
|
37
|
-
}
|
|
38
|
-
exports.createMessageBubble = createMessageBubble;
|
|
39
|
-
function createTextBubble(scene, sprite, text) {
|
|
40
|
-
const bubbleWidth = 200;
|
|
41
|
-
const bubbleHeight = 60;
|
|
42
|
-
const bubblePadding = 10;
|
|
43
|
-
const bubble = scene.add.graphics();
|
|
44
|
-
bubble.fillStyle(0xffffff, 1);
|
|
45
|
-
bubble.fillRoundedRect(0, 0, bubbleWidth, bubbleHeight, 16);
|
|
46
|
-
bubble.setDepth(99);
|
|
47
|
-
const content = scene.add.text(100, 30, text, {
|
|
48
|
-
fontFamily: 'Arial',
|
|
49
|
-
fontSize: 16,
|
|
50
|
-
color: '#000000',
|
|
51
|
-
});
|
|
52
|
-
content.setOrigin(0.5);
|
|
53
|
-
content.setWordWrapWidth(bubbleWidth - bubblePadding * 2);
|
|
54
|
-
content.setDepth(100);
|
|
55
|
-
const container = scene.add.container(0, 0, [bubble, content]);
|
|
56
|
-
container.setDepth(100);
|
|
57
|
-
sprite.textBubble = container;
|
|
58
|
-
updateTextBubblePosition(sprite);
|
|
59
|
-
return container;
|
|
60
|
-
}
|
|
61
|
-
exports.createTextBubble = createTextBubble;
|
|
62
|
-
function updateTextBubblePosition(sprite) {
|
|
63
|
-
const container = sprite.textBubble;
|
|
64
|
-
if (container) {
|
|
65
|
-
container.x = sprite.x;
|
|
66
|
-
container.y = sprite.y - sprite.height - container.height / 2;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
exports.updateTextBubblePosition = updateTextBubblePosition;
|
|
70
|
-
function updateMessageBubblePosition(sprite) {
|
|
71
|
-
const container = sprite.messageBubble;
|
|
72
|
-
if (container) {
|
|
73
|
-
container.x = sprite.x;
|
|
74
|
-
container.y = sprite.y - sprite.height - container.height / 2;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
exports.updateMessageBubblePosition = updateMessageBubblePosition;
|
|
78
|
-
//# sourceMappingURL=chatbubble.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chatbubble.js","sourceRoot":"","sources":["../../../../../../../packages/laser/src/lib/phaser/npc/chatbubble.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import Dexie from 'dexie';
|
|
2
|
-
import { WritableAtom } from 'nanostores';
|
|
3
|
-
import { INPCData, ISprite, IAvatar, IDialogueObject } from '../../../types';
|
|
4
|
-
import { Scene } from 'phaser';
|
|
5
|
-
interface ExtendedScene extends Scene {
|
|
6
|
-
gridEngine: any;
|
|
7
|
-
}
|
|
8
|
-
declare class NPCDatabase extends Dexie {
|
|
9
|
-
npcs: Dexie.Table<INPCData, string>;
|
|
10
|
-
sprites: Dexie.Table<ISprite, string>;
|
|
11
|
-
avatars: Dexie.Table<IAvatar, string>;
|
|
12
|
-
dialogues: Dexie.Table<IDialogueObject, string>;
|
|
13
|
-
constructor();
|
|
14
|
-
addNPC(npcData: INPCData): Promise<void>;
|
|
15
|
-
getNPC(id: string): Promise<INPCData | undefined>;
|
|
16
|
-
getNPCByName(name: string): Promise<INPCData | undefined>;
|
|
17
|
-
getAllNPCs(): Promise<INPCData[]>;
|
|
18
|
-
exportNPCs(): Promise<string>;
|
|
19
|
-
importNPCs(jsonData: string): Promise<void>;
|
|
20
|
-
fetchNPCData(url: string): Promise<INPCData | undefined>;
|
|
21
|
-
addSprite(sprite: ISprite): Promise<void>;
|
|
22
|
-
getSprite(id: string): Promise<ISprite | undefined>;
|
|
23
|
-
getAllSprites(): Promise<ISprite[]>;
|
|
24
|
-
addAvatar(avatar: IAvatar): Promise<void>;
|
|
25
|
-
getAvatar(id: string): Promise<IAvatar | undefined>;
|
|
26
|
-
getAllAvatars(): Promise<IAvatar[]>;
|
|
27
|
-
urlToBlob(url: string): Promise<Blob | undefined>;
|
|
28
|
-
addNewSprite(url: string, spriteDetails: Omit<ISprite, 'spriteData'>): Promise<string | undefined>;
|
|
29
|
-
addNewNPC(npcDetails: Omit<INPCData, 'spriteImageId' | 'avatarImageId'>, spriteImageId: string, avatarImageId: string): Promise<void>;
|
|
30
|
-
addNewAvatar(url: string, avatarDetails: Omit<IAvatar, 'avatarData'>): Promise<string | undefined>;
|
|
31
|
-
fetchAvatars(url: string): Promise<void>;
|
|
32
|
-
fetchSprites(url: string): Promise<void>;
|
|
33
|
-
fetchNPCs(url: string): Promise<void>;
|
|
34
|
-
initializeDatabase(baseURL?: string): Promise<void>;
|
|
35
|
-
loadNPC(scene: ExtendedScene, npcName: string, x?: number, y?: number): Promise<void>;
|
|
36
|
-
loadCharacter(scene: ExtendedScene, npcId: string, x?: number, y?: number): Promise<void>;
|
|
37
|
-
addNPCToScene(scene: ExtendedScene, npcData: INPCData, x?: number, y?: number): void;
|
|
38
|
-
addDialogue(dialogue: IDialogueObject): Promise<void>;
|
|
39
|
-
getDialogue(id: string): Promise<IDialogueObject | undefined>;
|
|
40
|
-
getAllDialogues(): Promise<IDialogueObject[]>;
|
|
41
|
-
getDialoguesForNPC(npcId: string): Promise<IDialogueObject[]>;
|
|
42
|
-
markDialogueAsRead(npcId: string, dialogueId: string): Promise<void>;
|
|
43
|
-
fetchDialogues(url: string): Promise<void>;
|
|
44
|
-
getPrioritizedDialoguesForNPC(npcId: string): Promise<(IDialogueObject & {
|
|
45
|
-
priority: number;
|
|
46
|
-
read: boolean;
|
|
47
|
-
})[]>;
|
|
48
|
-
getNPCNameById(npcId: string): Promise<string | undefined>;
|
|
49
|
-
getNPCAvatarById(npcId: string): Promise<Blob | undefined>;
|
|
50
|
-
getNPCSlugById(npcId: string): Promise<string | undefined>;
|
|
51
|
-
getNPCHealthById(npcId: string): Promise<string | undefined>;
|
|
52
|
-
getNPCManaById(npcId: string): Promise<string | undefined>;
|
|
53
|
-
createNPCSession(SessionAtom: WritableAtom<Record<string, string>>, npcId: string): Promise<void>;
|
|
54
|
-
}
|
|
55
|
-
export { NPCDatabase };
|
|
56
|
-
export declare const npcDatabase: NPCDatabase;
|