@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.
Files changed (63) 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 -591
  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/monster/bird.d.ts +0 -7
  32. package/src/lib/phaser/monster/bird.js +0 -44
  33. package/src/lib/phaser/monster/bird.js.map +0 -1
  34. package/src/lib/phaser/npc/chatbubble.d.ts +0 -10
  35. package/src/lib/phaser/npc/chatbubble.js +0 -78
  36. package/src/lib/phaser/npc/chatbubble.js.map +0 -1
  37. package/src/lib/phaser/npc/npcdatabase.d.ts +0 -56
  38. package/src/lib/phaser/npc/npcdatabase.js +0 -497
  39. package/src/lib/phaser/npc/npcdatabase.js.map +0 -1
  40. package/src/lib/phaser/npc/npchandler.d.ts +0 -20
  41. package/src/lib/phaser/npc/npchandler.js +0 -114
  42. package/src/lib/phaser/npc/npchandler.js.map +0 -1
  43. package/src/lib/phaser/npc/tooltipmenu.d.ts +0 -17
  44. package/src/lib/phaser/npc/tooltipmenu.js +0 -68
  45. package/src/lib/phaser/npc/tooltipmenu.js.map +0 -1
  46. package/src/lib/phaser/player/playercontroller.d.ts +0 -24
  47. package/src/lib/phaser/player/playercontroller.js +0 -219
  48. package/src/lib/phaser/player/playercontroller.js.map +0 -1
  49. package/src/lib/quadtree.d.ts +0 -37
  50. package/src/lib/quadtree.js +0 -123
  51. package/src/lib/quadtree.js.map +0 -1
  52. package/src/lib/utils/debug.d.ts +0 -8
  53. package/src/lib/utils/debug.js +0 -46
  54. package/src/lib/utils/debug.js.map +0 -1
  55. package/src/lib/utils/loader.d.ts +0 -3
  56. package/src/lib/utils/loader.js +0 -87
  57. package/src/lib/utils/loader.js.map +0 -1
  58. package/src/lib/utils/ulid.d.ts +0 -1
  59. package/src/lib/utils/ulid.js +0 -38
  60. package/src/lib/utils/ulid.js.map +0 -1
  61. package/src/types.d.ts +0 -381
  62. package/src/types.js +0 -14
  63. 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;