@kbve/laser 0.0.8 → 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.
Files changed (69) hide show
  1. package/README.md +40 -10
  2. package/laser.es.js +376 -0
  3. package/package.json +54 -24
  4. package/src/index.d.ts +0 -19
  5. package/src/index.js +0 -37
  6. package/src/index.js.map +0 -1
  7. package/src/lib/animations/TypewriterComponent.d.ts +0 -8
  8. package/src/lib/animations/TypewriterComponent.js +0 -53
  9. package/src/lib/animations/TypewriterComponent.js.map +0 -1
  10. package/src/lib/constants.d.ts +0 -2
  11. package/src/lib/constants.js +0 -6
  12. package/src/lib/constants.js.map +0 -1
  13. package/src/lib/eventhandler.d.ts +0 -31
  14. package/src/lib/eventhandler.js +0 -45
  15. package/src/lib/eventhandler.js.map +0 -1
  16. package/src/lib/icon/CollapseIcon.d.ts +0 -4
  17. package/src/lib/icon/CollapseIcon.js +0 -10
  18. package/src/lib/icon/CollapseIcon.js.map +0 -1
  19. package/src/lib/icon/ExpandIcon.d.ts +0 -4
  20. package/src/lib/icon/ExpandIcon.js +0 -10
  21. package/src/lib/icon/ExpandIcon.js.map +0 -1
  22. package/src/lib/laser.d.ts +0 -1
  23. package/src/lib/laser.js +0 -8
  24. package/src/lib/laser.js.map +0 -1
  25. package/src/lib/localdb.d.ts +0 -55
  26. package/src/lib/localdb.js +0 -592
  27. package/src/lib/localdb.js.map +0 -1
  28. package/src/lib/minigame/dice/MinigameDice.d.ts +0 -4
  29. package/src/lib/minigame/dice/MinigameDice.js +0 -85
  30. package/src/lib/minigame/dice/MinigameDice.js.map +0 -1
  31. package/src/lib/phaser/map/mapdatabase.d.ts +0 -1
  32. package/src/lib/phaser/map/mapdatabase.js +0 -175
  33. package/src/lib/phaser/map/mapdatabase.js.map +0 -1
  34. package/src/lib/phaser/monster/bird.d.ts +0 -7
  35. package/src/lib/phaser/monster/bird.js +0 -44
  36. package/src/lib/phaser/monster/bird.js.map +0 -1
  37. package/src/lib/phaser/npc/chatbubble.d.ts +0 -10
  38. package/src/lib/phaser/npc/chatbubble.js +0 -78
  39. package/src/lib/phaser/npc/chatbubble.js.map +0 -1
  40. package/src/lib/phaser/npc/npcdatabase.d.ts +0 -59
  41. package/src/lib/phaser/npc/npcdatabase.js +0 -550
  42. package/src/lib/phaser/npc/npcdatabase.js.map +0 -1
  43. package/src/lib/phaser/npc/npchandler.d.ts +0 -21
  44. package/src/lib/phaser/npc/npchandler.js +0 -123
  45. package/src/lib/phaser/npc/npchandler.js.map +0 -1
  46. package/src/lib/phaser/npc/tooltipmenu.d.ts +0 -17
  47. package/src/lib/phaser/npc/tooltipmenu.js +0 -68
  48. package/src/lib/phaser/npc/tooltipmenu.js.map +0 -1
  49. package/src/lib/phaser/player/playercontroller.d.ts +0 -24
  50. package/src/lib/phaser/player/playercontroller.js +0 -219
  51. package/src/lib/phaser/player/playercontroller.js.map +0 -1
  52. package/src/lib/quadtree.d.ts +0 -23
  53. package/src/lib/quadtree.js +0 -123
  54. package/src/lib/quadtree.js.map +0 -1
  55. package/src/lib/regex.d.ts +0 -1
  56. package/src/lib/regex.js +0 -6
  57. package/src/lib/regex.js.map +0 -1
  58. package/src/lib/utils/debug.d.ts +0 -8
  59. package/src/lib/utils/debug.js +0 -46
  60. package/src/lib/utils/debug.js.map +0 -1
  61. package/src/lib/utils/loader.d.ts +0 -3
  62. package/src/lib/utils/loader.js +0 -87
  63. package/src/lib/utils/loader.js.map +0 -1
  64. package/src/lib/utils/ulid.d.ts +0 -1
  65. package/src/lib/utils/ulid.js +0 -38
  66. package/src/lib/utils/ulid.js.map +0 -1
  67. package/src/types.d.ts +0 -423
  68. package/src/types.js +0 -14
  69. 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 +0,0 @@
1
- export {};
@@ -1,175 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const dexie_1 = tslib_1.__importDefault(require("dexie"));
5
- const axios_1 = tslib_1.__importDefault(require("axios"));
6
- const debug_1 = require("../../utils/debug");
7
- class MapDatabase extends dexie_1.default {
8
- constructor() {
9
- super('MapDatabase');
10
- this.version(1).stores({
11
- maps: 'tilemapKey',
12
- jsonFiles: 'tilemapKey',
13
- tilesetImages: 'tilemapKey',
14
- });
15
- this.maps = this.table('maps');
16
- this.jsonFiles = this.table('jsonFiles');
17
- this.tilesetImages = this.table('tilesetImages');
18
- }
19
- // Adding or updating map data
20
- addMap(mapData) {
21
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
- yield this.maps.put(mapData);
23
- });
24
- }
25
- // Fetching a map by its key
26
- getMap(tilemapKey) {
27
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
28
- return yield this.maps.get(tilemapKey);
29
- });
30
- }
31
- // Adding or updating JSON data for a map
32
- addJsonData(tilemapKey, jsonData) {
33
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
- yield this.jsonFiles.put({ tilemapKey, jsonData });
35
- });
36
- }
37
- // Fetching JSON data for a map
38
- getJsonData(tilemapKey) {
39
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
40
- const jsonData = yield this.jsonFiles.get(tilemapKey);
41
- return jsonData === null || jsonData === void 0 ? void 0 : jsonData.jsonData;
42
- });
43
- }
44
- // Adding or updating a tileset image for a map
45
- addTilesetImage(tilemapKey, imageData) {
46
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
47
- yield this.tilesetImages.put({ tilemapKey, imageData });
48
- });
49
- }
50
- // Fetching a tileset image for a map
51
- getTilesetImage(tilemapKey) {
52
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
53
- const image = yield this.tilesetImages.get(tilemapKey);
54
- return image === null || image === void 0 ? void 0 : image.imageData;
55
- });
56
- }
57
- // Fetching map data from a URL
58
- fetchMapData(url) {
59
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
60
- try {
61
- const response = yield axios_1.default.get(url);
62
- return response.data;
63
- }
64
- catch (error) {
65
- debug_1.Debug.error(`Failed to fetch map data from ${url}:`, error);
66
- return undefined;
67
- }
68
- });
69
- }
70
- // Fetching JSON data from a URL
71
- fetchJsonData(url) {
72
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
73
- try {
74
- const response = yield axios_1.default.get(url);
75
- return response.data;
76
- }
77
- catch (error) {
78
- debug_1.Debug.error(`Failed to fetch JSON data from ${url}:`, error);
79
- return undefined;
80
- }
81
- });
82
- }
83
- // Fetching a tileset image from a URL
84
- fetchTilesetImage(url) {
85
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
86
- try {
87
- const response = yield axios_1.default.get(url, { responseType: 'blob' });
88
- return response.data;
89
- }
90
- catch (error) {
91
- debug_1.Debug.error(`Failed to fetch tileset image from ${url}:`, error);
92
- return undefined;
93
- }
94
- });
95
- }
96
- // Initialize the map database with data from URLs
97
- initializeMap(tilemapKey, mapDataUrl, jsonDataUrl, tilesetImageUrl) {
98
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
99
- try {
100
- const mapData = yield this.fetchMapData(mapDataUrl);
101
- if (mapData) {
102
- yield this.addMap(mapData);
103
- const jsonData = yield this.fetchJsonData(jsonDataUrl);
104
- if (jsonData) {
105
- yield this.addJsonData(tilemapKey, jsonData);
106
- }
107
- const tilesetImage = yield this.fetchTilesetImage(tilesetImageUrl);
108
- if (tilesetImage) {
109
- yield this.addTilesetImage(tilemapKey, tilesetImage);
110
- }
111
- }
112
- }
113
- catch (error) {
114
- debug_1.Debug.error('Failed to initialize map database:', error);
115
- }
116
- });
117
- }
118
- // Example method to load a map into a Phaser scene
119
- loadMapIntoScene(scene, tilemapKey) {
120
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
121
- const mapData = yield this.getMap(tilemapKey);
122
- if (!mapData) {
123
- debug_1.Debug.error(`Map with key ${tilemapKey} not found`);
124
- return;
125
- }
126
- const jsonData = yield this.getJsonData(tilemapKey);
127
- if (!jsonData) {
128
- debug_1.Debug.error(`JSON data for map ${tilemapKey} not found`);
129
- return;
130
- }
131
- const tilesetImage = yield this.getTilesetImage(tilemapKey);
132
- if (!tilesetImage) {
133
- debug_1.Debug.error(`Tileset image for map ${tilemapKey} not found`);
134
- return;
135
- }
136
- let tilesetImageUrl = null;
137
- try {
138
- tilesetImageUrl = URL.createObjectURL(tilesetImage);
139
- }
140
- catch (error) {
141
- debug_1.Debug.error(`Failed to create object URL for tileset image: ${error}`);
142
- return;
143
- }
144
- // If tilesetImageUrl is still null, something went wrong
145
- if (!tilesetImageUrl) {
146
- debug_1.Debug.error(`Tileset image URL for map ${tilemapKey} could not be created.`);
147
- return;
148
- }
149
- // Load the JSON data and tileset image into the Phaser scene
150
- scene.load.tilemapTiledJSON(tilemapKey, jsonData);
151
- scene.load.image(mapData.tilesetKey, tilesetImageUrl);
152
- scene.load.once('complete', () => {
153
- const map = scene.make.tilemap({ key: tilemapKey });
154
- const tileset = map.addTilesetImage(mapData.tilesetName, mapData.tilesetKey);
155
- if (tileset) {
156
- // Use the tileset here, now TypeScript knows it's not null
157
- for (let i = 0; i < map.layers.length; i++) {
158
- const layer = map.createLayer(i, tileset, 0, 0);
159
- if (layer) {
160
- layer.scale = mapData.scale;
161
- }
162
- else {
163
- debug_1.Debug.error(`Layer ${i} could not be created.`);
164
- }
165
- }
166
- }
167
- else {
168
- debug_1.Debug.error(`Tileset ${mapData.tilesetName} could not be created.`);
169
- }
170
- });
171
- scene.load.start();
172
- });
173
- }
174
- }
175
- //# sourceMappingURL=mapdatabase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapdatabase.js","sourceRoot":"","sources":["../../../../../../../packages/laser/src/lib/phaser/map/mapdatabase.ts"],"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":";;;AAEA,MAAM,cAAe,SAAQ,MAAM,CAAC,WAAW,CAAC,MAAM;CAGrD;AAED,SAAgB,mBAAmB,CAAC,KAAY,EAAE,MAAsB,EAAE,IAAuB,EAAE,QAAgB;IACjH,MAAM,WAAW,GAAG,GAAG,CAAC;IACxB,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,MAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEpB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE;QAC5C,UAAU,EAAE,OAAO;QACnB,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,CAAC,gBAAgB,CAAC,WAAW,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEtB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAExB,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC;IACjC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAEpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,GAAG,EAAE;YACb,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC;YACnC,CAAC;QACH,CAAC;QACD,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC;AArCD,kDAqCC;AAED,SAAgB,gBAAgB,CAAC,KAAY,EAAE,MAAsB,EAAE,IAAuB;IAC5F,MAAM,WAAW,GAAG,GAAG,CAAC;IACxB,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,MAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEpB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE;QAC5C,UAAU,EAAE,OAAO;QACnB,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,CAAC,gBAAgB,CAAC,WAAW,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEtB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAExB,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEjC,OAAO,SAAS,CAAC;AACnB,CAAC;AA1BD,4CA0BC;AAED,SAAgB,wBAAwB,CAAC,MAAsB;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;IACpC,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACvB,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAND,4DAMC;AAED,SAAgB,2BAA2B,CAAC,MAAsB;IAChE,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC;IACvC,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACvB,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAND,kEAMC"}
@@ -1,59 +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
- getNPCDialogueOptionsByULID(dialogueId: string): Promise<string>;
55
- getAllDialogueOptions(dialogueId: string): Promise<IDialogueObject[]>;
56
- createDialogueSession(DialogueSessionAtom: WritableAtom<Record<string, string>>, dialogueId: string): Promise<void>;
57
- }
58
- export { NPCDatabase };
59
- export declare const npcDatabase: NPCDatabase;