@rpgjs/client 5.0.0-alpha.5 → 5.0.0-alpha.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index13.js","sources":["../src/components/scenes/event-layer.ce"],"sourcesContent":["<Container sortableChildren={true}>\n @for ((event,id) of events) {\n <Character id={id} object={event} isMe={false} />\n }\n\n @for ((player,id) of players) {\n <Character id={id} object={player} isMe={true} />\n }\n</Container>\n\n<script>\n import { effect, signal } from 'canvasengine'\n import { inject } from \"../../core/inject\";\n import { RpgClientEngine } from \"../../RpgClientEngine\";\n import Character from \"../character.ce\";\n \n const engine = inject(RpgClientEngine);\n const players = engine.sceneMap.players\n const events = engine.sceneMap.events\n</script>"],"names":["Character"],"mappings":";;;;;AAQqB,SAAS,SAAS,CAAC,OAAO,EAAE;AACjD,QAAuB,QAAQ,CAAC,OAAO;AACvC,QAA4B,cAAc,CAAC,OAAO;AAClD,QAAQ,IAAI,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;AAC5C,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO;AACrC,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC7B,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAACA,WAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAACA,WAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACrO,QAAQ,OAAO;AACf;;;;"}
1
+ {"version":3,"file":"index13.js","sources":["../src/components/scenes/event-layer.ce"],"sourcesContent":["\n import { Container } from 'canvasengine';\nimport { h, computed, cond, loop } from 'canvasengine';\nimport { inject } from \"../../core/inject\";\nimport { RpgClientEngine } from \"../../RpgClientEngine\";\nimport Character from \"../character.ce\";\n import { useProps, useDefineProps } from 'canvasengine'\n\n export default function component($$props) {\n const $props = useProps($$props)\n const defineProps = useDefineProps($$props)\n var engine = inject(RpgClientEngine);\nvar players = engine.sceneMap.players;\nvar events = engine.sceneMap.events\n let $this = h(Container, { sortableChildren: true }, [loop(events, (event, id) => h(Character, { id: id, object: event, isMe: false })), loop(players, (player, id) => h(Character, { id: id, object: player, isMe: true }))])\n return $this\n }\n "],"names":["Character"],"mappings":";;;;;AAQqB,SAAS,SAAS,CAAC,OAAO,EAAE;AACjD,QAAuB,QAAQ,CAAC,OAAO;AACvC,QAA4B,cAAc,CAAC,OAAO;AAClD,QAAQ,IAAI,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;AAC5C,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO;AACrC,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC7B,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAACA,WAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAACA,WAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACrO,QAAQ,OAAO;AACf;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index14.js","sources":["../src/components/character.ce"],"sourcesContent":["<Container x y zIndex={y} viewportFollow={isMe} controls>\n <Particle emit={@emitParticleTrigger} settings={@particleSettings} zIndex={1000} name={particleName} />\n @for (graphicId of graphics) {\n <Sprite sheet={@sheet(@graphicId)} direction tint />\n }\n <!-- <Ellipse \n x={shadow.@x} \n y={shadow.@y} \n width={shadow.@width} \n height={shadow.@height} \n color=\"black\" \n blur={10} \n alpha={0.5}\n /> -->\n</Container>\n\n<script>\n import { signal, effect, mount, computed } from \"canvasengine\";\n import { Particle } from \"@canvasengine/presets\";\n import { GameEngineToken } from \"@rpgjs/common\";\n import { RpgClientEngine } from \"../RpgClientEngine\";\n import { inject } from \"../core/inject\"; \n import { Direction } from \"@rpgjs/common\";\n import Hit from \"./effects/hit.ce\";\n\n const { object, id, isMe } = defineProps();\n\n const client = inject(RpgClientEngine);\n\n const spritesheets = client.spritesheets;\n\n const x = object.x;\n const y = object.y;\n const tint = object.tint;\n const direction = object.direction;\n const animationName = object.animationName;\n const emitParticleTrigger = object.emitParticleTrigger;\n const particleSettings = client.particleSettings;\n const particleName = object.particleName;\n const graphics = object.graphics;\n\n const hitbox = object.hitbox;\n const widthShadow = 10;\n const shadow = computed(() => ({\n x: hitbox().w / 2,\n y: hitbox().h - (hitbox().h / 2),\n width: hitbox().w + widthShadow,\n height: hitbox().h,\n }))\n const canControls = () => isMe() && object.canMove()\n const keyboardControls = client.globalConfig.keyboardControls;\n\n const controls = signal({\n down: {\n repeat: true,\n bind: keyboardControls.down,\n keyDown() {\n if (canControls()) client.processInput({ input: Direction.Down })\n },\n },\n up: {\n repeat: true,\n bind: keyboardControls.up,\n keyDown() {\n if (canControls()) client.processInput({ input: Direction.Up })\n },\n },\n left: {\n repeat: true,\n bind: keyboardControls.left,\n keyDown() {\n if (canControls()) client.processInput({ input: Direction.Left })\n },\n },\n right: {\n repeat: true,\n bind: keyboardControls.right,\n keyDown() {\n if (canControls()) client.processInput({ input: Direction.Right })\n },\n },\n action: {\n bind: keyboardControls.action,\n keyDown() {\n if (canControls()) {\n client.processAction({ action: 'action' })\n // particleName.set('hit') \n // emitParticleTrigger.start()\n // object.flash('red')\n }\n },\n },\n });\n\n const sheet = (graphicId) => {\n return {\n definition: spritesheets.get(graphicId),\n playing: animationName,\n params: {\n direction\n },\n };\n }\n</script>"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index14.js","sources":["../src/components/character.ce"],"sourcesContent":["\n import { Container } from 'canvasengine';\nimport { Sprite } from 'canvasengine';\nimport { h, cond, loop } from 'canvasengine';\nimport { signal, computed } from \"canvasengine\";\nimport { Particle } from \"@canvasengine/presets\";\nimport { RpgClientEngine } from \"../RpgClientEngine\";\nimport { inject } from \"../core/inject\";\nimport { Direction } from \"@rpgjs/common\";\n import { useProps, useDefineProps } from 'canvasengine'\n\n export default function component($$props) {\n const $props = useProps($$props)\n const defineProps = useDefineProps($$props)\n var _a = defineProps(), object = _a.object, id = _a.id, isMe = _a.isMe;\nvar client = inject(RpgClientEngine);\nvar spritesheets = client.spritesheets;\nvar x = object.x;\nvar y = object.y;\nvar tint = object.tint;\nvar direction = object.direction;\nvar animationName = object.animationName;\nvar emitParticleTrigger = object.emitParticleTrigger;\nvar particleSettings = client.particleSettings;\nvar particleName = object.particleName;\nvar graphics = object.graphics;\nvar hitbox = object.hitbox;\nvar widthShadow = 10;\nvar shadow = computed(function () { return ({\n x: hitbox().w / 2,\n y: hitbox().h - (hitbox().h / 2),\n width: hitbox().w + widthShadow,\n height: hitbox().h,\n}); });\nvar canControls = function () { return isMe() && object.canMove(); };\nvar keyboardControls = client.globalConfig.keyboardControls;\nvar controls = signal({\n down: {\n repeat: true,\n bind: keyboardControls.down,\n keyDown: function () {\n if (canControls())\n client.processInput({ input: Direction.Down });\n },\n },\n up: {\n repeat: true,\n bind: keyboardControls.up,\n keyDown: function () {\n if (canControls())\n client.processInput({ input: Direction.Up });\n },\n },\n left: {\n repeat: true,\n bind: keyboardControls.left,\n keyDown: function () {\n if (canControls())\n client.processInput({ input: Direction.Left });\n },\n },\n right: {\n repeat: true,\n bind: keyboardControls.right,\n keyDown: function () {\n if (canControls())\n client.processInput({ input: Direction.Right });\n },\n },\n action: {\n bind: keyboardControls.action,\n keyDown: function () {\n if (canControls()) {\n client.processAction({ action: 'action' });\n // particleName.set('hit') \n // emitParticleTrigger.start()\n // object.flash('red')\n }\n },\n },\n});\nvar sheet = function (graphicId) {\n return {\n definition: spritesheets.get(graphicId),\n playing: animationName,\n params: {\n direction: direction\n },\n };\n}\n let $this = h(Container, { x, y, zIndex: y, viewportFollow: isMe, controls }, [h(Particle, { emit: emitParticleTrigger, settings: particleSettings, zIndex: 1000, name: particleName }), loop(graphics, graphicId => h(Sprite, { sheet: sheet(graphicId), direction, tint }))])\n return $this\n }\n "],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index15.js","sources":["../src/components/scenes/canvas.ce"],"sourcesContent":["<Canvas width={@engine.width} height={@engine.height}>\n <Viewport worldWidth worldHeight clamp>\n @if (sceneData) {\n <SceneMap />\n }\n </Viewport>\n @for (gui of gui) {\n <Container display=\"flex\">\n @if (gui.display) {\n <gui.component ...gui.data() onFinish={(data) => {\n onGuiFinish(gui, data)\n }} onInteraction={(name, data) => {\n onGuiInteraction(gui, name, data)\n }} /> \n }\n </Container>\n } \n</Canvas>\n\n<script>\n import { signal, computed, effect } from \"canvasengine\";\n import { inject } from \"../../core/inject\";\n import { RpgClientEngine } from \"../../RpgClientEngine\";\n import SceneMap from './draw-map.ce'\n import { RpgGui } from \"../../Gui/Gui\";\n\n const engine = inject(RpgClientEngine);\n const guiService = inject(RpgGui);\n const sceneData = engine.sceneMap.data\n const gui = guiService.gui\n const worldWidth = computed(() => sceneData()?.width)\n const worldHeight = computed(() => sceneData()?.height)\n\n effect(() => {\n if (sceneData() && !sceneData().component) {\n throw new Error(\"Warning ! You need to define a component for the scene. Use provideLoadMap() to define a component for the scene.\")\n }\n })\n\n const onGuiFinish = (gui, data) => {\n guiService.guiClose(gui.name, data)\n }\n\n const onGuiInteraction = (gui, name, data) => {\n guiService.guiInteraction(gui.name, name, data)\n }\n \n const clamp = {\n direction: \"all\"\n }\n</script>\n"],"names":["SceneMap"],"mappings":"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"}
1
+ {"version":3,"file":"index15.js","sources":["../src/components/scenes/canvas.ce"],"sourcesContent":["\n import { Container } from 'canvasengine';\nimport { Viewport } from 'canvasengine';\nimport { Canvas } from 'canvasengine';\nimport { h, cond, loop } from 'canvasengine';\nimport { computed, effect } from \"canvasengine\";\nimport { inject } from \"../../core/inject\";\nimport { RpgClientEngine } from \"../../RpgClientEngine\";\nimport SceneMap from './draw-map.ce';\nimport { RpgGui } from \"../../Gui/Gui\";\n import { useProps, useDefineProps } from 'canvasengine'\n\n export default function component($$props) {\n const $props = useProps($$props)\n const defineProps = useDefineProps($$props)\n var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar engine = inject(RpgClientEngine);\nvar guiService = inject(RpgGui);\nvar sceneData = engine.sceneMap.data;\nvar gui = guiService.gui;\nvar worldWidth = computed(function () { var _a; return (_a = sceneData()) === null || _a === void 0 ? void 0 : _a.width; });\nvar worldHeight = computed(function () { var _a; return (_a = sceneData()) === null || _a === void 0 ? void 0 : _a.height; });\neffect(function () {\n if (sceneData() && !sceneData().component) {\n throw new Error(\"Warning ! You need to define a component for the scene. Use provideLoadMap() to define a component for the scene.\");\n }\n});\nvar onGuiFinish = function (gui, data) {\n guiService.guiClose(gui.name, data);\n};\nvar onGuiInteraction = function (gui, name, data) {\n guiService.guiInteraction(gui.name, name, data);\n};\nvar clamp = {\n direction: \"all\"\n}\n let $this = h(Canvas, { width: computed(() => engine.width()), height: computed(() => engine.height()) }, [h(Viewport, { worldWidth, worldHeight, clamp }, cond(sceneData, () => h(SceneMap))), loop(gui, gui => h(Container, { display: 'flex' }, cond(gui.display, () => h(gui.component, { ...gui.data(), onFinish: (data) => {\n onGuiFinish(gui, data)\n }, onInteraction: (name, data) => {\n onGuiInteraction(gui, name, data)\n } }))))])\n return $this\n }\n "],"names":["SceneMap"],"mappings":"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"}
package/dist/index22.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { __name } from './index27.js';
2
2
  import { load } from './index18.js';
3
- import { PartySocket } from './index36.js';
4
- import './index37.js';
3
+ import { PartySocket } from './index35.js';
4
+ import './index36.js';
5
5
 
6
6
  function createConnection(options, roomInstance) {
7
7
  const conn = new PartySocket(options);
package/dist/index23.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { useProps, useDefineProps, signal, animatedSignal, computed, trigger, mount, effect, h, Container, Rect, cond, Text } from 'canvasengine';
2
- import component$1 from './index35.js';
2
+ import component$1 from './index37.js';
3
3
  import { inject } from './index6.js';
4
4
  import { RpgClientEngine } from './index2.js';
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"index23.js","sources":["../src/components/gui/dialogbox/index.ce"],"sourcesContent":["<Container justifyContent=\"center\" alignItems=\"center\" width=\"100%\" height=\"100%\">\n <Container\n ref=\"dialogbox\"\n scale={{ x: scaleX }}\n anchor={[0.5, 0.5]}\n width={700}\n height\n controls\n positionType=\"absolute\"\n bottom={10}\n >\n <Rect width={700} height={250} color=\"#1a1a2e\" />\n <Rect\n x={0}\n y={0}\n width={700}\n height\n color=\"#1a1a2e\"\n alpha={0.9}\n borderRadius={10}\n border\n shadow\n />\n <Container\n flexDirection=\"row\"\n width={700}\n height\n alpha={contentOpacity}\n >\n <Container flexDirection=\"column\">\n <Text\n text\n color=\"#fff\"\n fontSize={18}\n margin={40}\n typewriter\n style={textStyle}\n />\n @if (visibleSelection) {\n <Selection selectedIndex={0} items={choices} onSelect />\n }\n </Container>\n </Container>\n</Container> \n\n \n</Container>\n<script>\n import Selection from './selection.ce'\n\n import {\n animatedSignal,\n computed,\n effect,\n signal,\n trigger,\n mount\n } from \"canvasengine\";\n\n import { inject } from \"../../../core/inject\";\n import { RpgClientEngine } from \"../../../RpgClientEngine\";\n\n const {\n message,\n choices: _choices,\n onFinish,\n onInteraction\n } = defineProps();\n\n const client = inject(RpgClientEngine);\n const keyboardControls = client.globalConfig.keyboardControls;\n\n client.stopProcessingInput = true;\n let isDestroyed = false;\n\n const texts = [message()]\n const height = signal(250);\n const isTextCompleted = signal(false);\n\n const drawSpeaker = (g) => {\n g.beginFill(0xffa500); // Orange color\n g.lineStyle(2, 0x000000); // Black border\n g.moveTo(0, 0);\n g.lineTo(70, 0);\n g.lineTo(80, 15);\n g.lineTo(70, 30);\n g.lineTo(0, 30);\n g.lineTo(0, 0);\n g.endFill();\n };\n\n const border = signal({ width: 5, color: \"#595971\" });\n const shadow = signal({ color: \"#000\", blur: 10, offsetX: 10, offsetY: 10 });\n\n const contentOpacity = animatedSignal(0, {\n duration: 1000,\n });\n\n const scaleX = animatedSignal(0, {\n duration: 500,\n });\n\n scaleX.set(1);\n contentOpacity.set(1);\n\n const currentTextIndex = signal(0);\n const currentText = computed(() => texts?.[currentTextIndex()] ?? '');\n const isChoiceDisplayed = signal(false);\n\n const text = computed(() => {\n const current = currentText();\n return typeof current === \"string\" ? current : current.text;\n });\n\n const choices = computed(() => {\n //const current = currentText();\n //return typeof current === \"string\" ? null : current.choices;\n return _choices;\n });\n\n const visibleSelection = computed(() => isChoiceDisplayed() && choices().length != 0)\n\n const triggerSkip = trigger();\n\n const typewriter = {\n speed: 0.3,\n skip: triggerSkip,\n onComplete: () => {\n isTextCompleted.set(true);\n }\n }\n\n const textStyle = {\n wordWrap: true,\n wordWrapWidth: 700 - 256 - 80\n }\n\n const face = signal({ x: 0, y: 0, width: 256, height: 256 });\n\n mount((element) => {\n const [dialogbox] = element.props.children\n return () => {\n dialogbox.directives.controls.onDestroy()\n isDestroyed = true;\n // Wait destroy is finished before start processing input\n setTimeout(() => {\n client.stopProcessingInput = false;\n }, 500)\n }\n })\n\n const controls = signal({\n next: {\n bind: keyboardControls.action,\n keyDown(e) {\n if (isDestroyed) return;\n if (isChoiceDisplayed()) {\n // If choices are displayed, do nothing (wait for selection)\n return;\n }\n\n // If text is still typing, just skip (fast forward) the animation\n if (!isTextCompleted()) {\n triggerSkip.start();\n isTextCompleted.set(true);\n }\n else {\n const isFinished = currentTextIndex() === texts.length - 1;\n currentTextIndex.update((index) => {\n if (index < texts.length - 1) {\n return index + 1;\n }\n return index;\n });\n isChoiceDisplayed.set(false);\n isTextCompleted.set(false);\n if (isFinished && onFinish) {\n onFinish();\n } \n }\n },\n },\n });\n\n const onSelect = (index) => {\n onFinish(index);\n }\n \n effect(() => {\n if (choices().length != 0) {\n isChoiceDisplayed.set(true);\n }\n });\n</script>"],"names":["Selection"],"mappings":"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"}
1
+ {"version":3,"file":"index23.js","sources":["../src/components/gui/dialogbox/index.ce"],"sourcesContent":["\n import { Rect } from 'canvasengine';\nimport { Container } from 'canvasengine';\nimport { Text } from 'canvasengine';\nimport { h, cond, loop } from 'canvasengine';\nimport Selection from './selection.ce';\nimport { animatedSignal, computed, effect, signal, trigger, mount } from \"canvasengine\";\nimport { inject } from \"../../../core/inject\";\nimport { RpgClientEngine } from \"../../../RpgClientEngine\";\n import { useProps, useDefineProps } from 'canvasengine'\n\n export default function component($$props) {\n const $props = useProps($$props)\n const defineProps = useDefineProps($$props)\n var _a = defineProps(), message = _a.message, _choices = _a.choices, onFinish = _a.onFinish, onInteraction = _a.onInteraction;\nvar client = inject(RpgClientEngine);\nvar keyboardControls = client.globalConfig.keyboardControls;\nclient.stopProcessingInput = true;\nvar isDestroyed = false;\nvar texts = [message()];\nvar height = signal(250);\nvar isTextCompleted = signal(false);\nvar drawSpeaker = function (g) {\n g.beginFill(0xffa500); // Orange color\n g.lineStyle(2, 0x000000); // Black border\n g.moveTo(0, 0);\n g.lineTo(70, 0);\n g.lineTo(80, 15);\n g.lineTo(70, 30);\n g.lineTo(0, 30);\n g.lineTo(0, 0);\n g.endFill();\n};\nvar border = signal({ width: 5, color: \"#595971\" });\nvar shadow = signal({ color: \"#000\", blur: 10, offsetX: 10, offsetY: 10 });\nvar contentOpacity = animatedSignal(0, {\n duration: 1000,\n});\nvar scaleX = animatedSignal(0, {\n duration: 500,\n});\nscaleX.set(1);\ncontentOpacity.set(1);\nvar currentTextIndex = signal(0);\nvar currentText = computed(function () { var _a; return (_a = texts === null || texts === void 0 ? void 0 : texts[currentTextIndex()]) !== null && _a !== void 0 ? _a : ''; });\nvar isChoiceDisplayed = signal(false);\nvar text = computed(function () {\n var current = currentText();\n return typeof current === \"string\" ? current : current.text;\n});\nvar choices = computed(function () {\n //const current = currentText();\n //return typeof current === \"string\" ? null : current.choices;\n return _choices;\n});\nvar visibleSelection = computed(function () { return isChoiceDisplayed() && choices().length != 0; });\nvar triggerSkip = trigger();\nvar typewriter = {\n speed: 0.3,\n skip: triggerSkip,\n onComplete: function () {\n isTextCompleted.set(true);\n }\n};\nvar textStyle = {\n wordWrap: true,\n wordWrapWidth: 700 - 256 - 80\n};\nvar face = signal({ x: 0, y: 0, width: 256, height: 256 });\nmount(function (element) {\n var dialogbox = element.props.children[0];\n return function () {\n dialogbox.directives.controls.onDestroy();\n isDestroyed = true;\n // Wait destroy is finished before start processing input\n setTimeout(function () {\n client.stopProcessingInput = false;\n }, 500);\n };\n});\nvar controls = signal({\n next: {\n bind: keyboardControls.action,\n keyDown: function (e) {\n if (isDestroyed)\n return;\n if (isChoiceDisplayed()) {\n // If choices are displayed, do nothing (wait for selection)\n return;\n }\n // If text is still typing, just skip (fast forward) the animation\n if (!isTextCompleted()) {\n triggerSkip.start();\n isTextCompleted.set(true);\n }\n else {\n var isFinished = currentTextIndex() === texts.length - 1;\n currentTextIndex.update(function (index) {\n if (index < texts.length - 1) {\n return index + 1;\n }\n return index;\n });\n isChoiceDisplayed.set(false);\n isTextCompleted.set(false);\n if (isFinished && onFinish) {\n onFinish();\n }\n }\n },\n },\n});\nvar onSelect = function (index) {\n onFinish(index);\n};\neffect(function () {\n if (choices().length != 0) {\n isChoiceDisplayed.set(true);\n }\n});\n let $this = h(Container, { justifyContent: 'center', alignItems: 'center', width: '100%', height: '100%' }, h(Container, { ref: 'dialogbox', scale: { x: scaleX }, anchor: [0.5, 0.5], width: 700, height, controls, positionType: 'absolute', bottom: 10 }, [h(Rect, { width: 700, height: 250, color: '#1a1a2e' }), h(Rect, { x: 0, y: 0, width: 700, height, color: '#1a1a2e', alpha: 0.9, borderRadius: 10, border, shadow }), h(Container, { flexDirection: 'row', width: 700, height, alpha: contentOpacity }, h(Container, { flexDirection: 'column' }, [h(Text, { text, color: '#fff', fontSize: 18, margin: 40, typewriter, style: textStyle }), cond(visibleSelection, () => h(Selection, { selectedIndex: 0, items: choices, onSelect }))]))]))\n return $this\n }\n "],"names":["Selection"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index24.js","sources":["../src/components/effects/hit.ce"],"sourcesContent":["<Text x y zIndex={10000} color scale size={30} text />\n\n<script>\n import { animatedSignal, mount, signal, tick } from \"canvasengine\";\n import { Direction } from \"@rpgjs/common\";\n const {\n text,\n direction,\n onFinish,\n duration,\n color,\n x: positionX,\n y: positionY\n } = defineProps({\n duration: {\n default: 1000\n },\n color: {\n default: 'black'\n }\n });\n\n const scale = animatedSignal(1, {\n duration: duration(),\n });\n\n // Generate random initial position\n const randomPosition = () => Math.floor(Math.random() * 60);\n const initialY = randomPosition();\n const x = signal(positionX());\n const y = signal(positionY() - initialY);\n\n // Initial velocity\n let velocityX = 0;\n let velocityY = 0;\n\n // Set initial velocity based on direction\n const speed = 200;\n switch (direction()) {\n case Direction.Left:\n velocityX = speed;\n break;\n case Direction.Right:\n velocityX = -speed;\n break;\n case Direction.Up:\n velocityY = speed;\n break;\n case Direction.Down:\n velocityY = -speed;\n break;\n }\n\n // Add some randomness to the velocity\n velocityX += (Math.random() - 0.5) * 100;\n velocityY += (Math.random() - 0.5) * 100;\n\n const gravity = 500; // Gravity effect\n const deceleration = 0.98; // Deceleration factor\n\n mount(() => {\n scale.set(0.1);\n });\n\n let elapsedTime = 0;\n\n tick(({ deltaTime }) => {\n elapsedTime += deltaTime;\n \n if (elapsedTime < duration()) {\n // Update position\n x.update((x) => x + (velocityX * deltaTime) / 1000);\n y.update((y) => y + (velocityY * deltaTime) / 1000);\n\n // Apply gravity\n velocityY += (gravity * deltaTime) / 1000;\n\n // Apply deceleration\n velocityX *= deceleration;\n velocityY *= deceleration;\n } else {\n if (onFinish) {\n onFinish();\n }\n }\n });\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index24.js","sources":["../src/components/effects/hit.ce"],"sourcesContent":["\n import { Text } from 'canvasengine';\nimport { h, computed, cond, loop } from 'canvasengine';\nimport { animatedSignal, mount, signal, tick } from \"canvasengine\";\nimport { Direction } from \"@rpgjs/common\";\n import { useProps, useDefineProps } from 'canvasengine'\n\n export default function component($$props) {\n const $props = useProps($$props)\n const defineProps = useDefineProps($$props)\n var _a = defineProps({\n duration: {\n default: 1000\n },\n color: {\n default: 'black'\n }\n}), text = _a.text, direction = _a.direction, onFinish = _a.onFinish, duration = _a.duration, color = _a.color, positionX = _a.x, positionY = _a.y;\nvar scale = animatedSignal(1, {\n duration: duration(),\n});\nvar randomPosition = function () { return Math.floor(Math.random() * 60); };\nvar initialY = randomPosition();\nvar x = signal(positionX());\nvar y = signal(positionY() - initialY);\nvar velocityX = 0;\nvar velocityY = 0;\nvar speed = 200;\nswitch (direction()) {\n case Direction.Left:\n velocityX = speed;\n break;\n case Direction.Right:\n velocityX = -speed;\n break;\n case Direction.Up:\n velocityY = speed;\n break;\n case Direction.Down:\n velocityY = -speed;\n break;\n}\nvelocityX += (Math.random() - 0.5) * 100;\nvelocityY += (Math.random() - 0.5) * 100;\nvar gravity = 500;\nvar deceleration = 0.98;\nmount(function () {\n scale.set(0.1);\n});\nvar elapsedTime = 0;\ntick(function (_a) {\n var deltaTime = _a.deltaTime;\n elapsedTime += deltaTime;\n if (elapsedTime < duration()) {\n // Update position\n x.update(function (x) { return x + (velocityX * deltaTime) / 1000; });\n y.update(function (y) { return y + (velocityY * deltaTime) / 1000; });\n // Apply gravity\n velocityY += (gravity * deltaTime) / 1000;\n // Apply deceleration\n velocityX *= deceleration;\n velocityY *= deceleration;\n }\n else {\n if (onFinish) {\n onFinish();\n }\n }\n});\n let $this = h(Text, { x, y, zIndex: 10000, color, scale, size: 30, text })\n return $this\n }\n "],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index25.js","sources":["../src/components/effects/animation.ce"],"sourcesContent":["<Sprite sheet x y anchor={0.5} />\n\n<script>\n import { signal } from \"canvasengine\";\n import { RpgClientEngine } from \"../../RpgClientEngine\";\n import { inject } from \"../../core/inject\";\n\n const { x, y, name, onFinish } = defineProps();\n\n const client = inject(RpgClientEngine);\n const spritesheets = client.spritesheets;\n\n const sheet = {\n definition: spritesheets.get(name()),\n playing: 'default',\n onFinish\n };\n\n</script>\n"],"names":[],"mappings":";;;;AAOqB,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,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,EAAE,CAAC,QAAQ;AAC1F,IAAI,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;AACpC,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY;AACtC,IAAI,KAAK,GAAG;AACZ,IAAI,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AACxC,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,QAAQ,EAAE;AACd,CAAC;AACD,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;AAC1D,QAAQ,OAAO;AACf;;;;"}
1
+ {"version":3,"file":"index25.js","sources":["../src/components/effects/animation.ce"],"sourcesContent":["\n import { Sprite } from 'canvasengine';\nimport { h, computed, cond, loop } from 'canvasengine';\nimport { RpgClientEngine } from \"../../RpgClientEngine\";\nimport { inject } from \"../../core/inject\";\n import { useProps, useDefineProps } from 'canvasengine'\n\n export default function component($$props) {\n const $props = useProps($$props)\n const defineProps = useDefineProps($$props)\n var _a = defineProps(), x = _a.x, y = _a.y, name = _a.name, onFinish = _a.onFinish;\nvar client = inject(RpgClientEngine);\nvar spritesheets = client.spritesheets;\nvar sheet = {\n definition: spritesheets.get(name()),\n playing: 'default',\n onFinish: onFinish\n};\n let $this = h(Sprite, { sheet, x, y, anchor: 0.5 })\n return $this\n }\n "],"names":[],"mappings":";;;;AAOqB,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,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,EAAE,CAAC,QAAQ;AAC1F,IAAI,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;AACpC,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY;AACtC,IAAI,KAAK,GAAG;AACZ,IAAI,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AACxC,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,QAAQ,EAAE;AACd,CAAC;AACD,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;AAC1D,QAAQ,OAAO;AACf;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index29.js","sources":["../src/components/scenes/draw-map.ce"],"sourcesContent":["<Container sound={backgroundMusic} >\n <Container sound={backgroundAmbientSound} />\n\n <sceneComponent() data={map.@data} />\n \n @for (effect of effects) {\n <Container>\n @for (animation of effect.current) {\n <effect.component ...animation />\n }\n </Container>\n }\n</Container>\n\n<script>\n import { effect, signal, computed, mount } from 'canvasengine'\n import { inject } from \"../../core/inject\";\n import { RpgClientEngine } from \"../../RpgClientEngine\";\n\n const engine = inject(RpgClientEngine);\n const effects = engine.effects\n const map = engine.sceneMap.data\n const sceneComponent = computed(() => map()?.component)\n const mapParams = map().params\n const animations = engine.sceneMap.animations\n const backgroundMusic = { src: mapParams?.backgroundMusic, autoplay: true, loop: true }\n const backgroundAmbientSound = { src: mapParams?.backgroundAmbientSound, autoplay: true, loop: true }\n \n const data = signal(map().data)\n\n const scale = mapParams?.scale || 1\n const worldWidth = (mapParams?.width || 2048) * scale\n const worldHeight = (mapParams?.height || 2048) * scale\n \n const clamp = {\n direction: \"all\"\n }\n</script>"],"names":[],"mappings":";;;;AAQqB,SAAS,SAAS,CAAC,OAAO,EAAE;AACjD,QAAuB,QAAQ,CAAC,OAAO;AACvC,QAA4B,cAAc,CAAC,OAAO;AAClD,QAAQ,IAAI,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;AAC5C,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO;AAC5B,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI;AAC9B,IAAI,cAAc,GAAG,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;AAC7H,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC,MAAM;AACX,MAAM,CAAC,QAAQ,CAAC;AACjC,IAAI,eAAe,GAAG,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AAC1I,IAAI,sBAAsB,GAAG,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7I,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI;AAC5B,IAAI,KAAK,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,KAAK,KAAK,CAAC;AACvE,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,KAAK,KAAK,IAAI,IAAI;AACnF,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,MAAM,KAAK,IAAI,IAAI;AAIvG,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACzR,QAAQ,OAAO;AACf;;;;"}
1
+ {"version":3,"file":"index29.js","sources":["../src/components/scenes/draw-map.ce"],"sourcesContent":["\n import { Container } from 'canvasengine';\nimport { h, cond, loop } from 'canvasengine';\nimport { signal, computed } from 'canvasengine';\nimport { inject } from \"../../core/inject\";\nimport { RpgClientEngine } from \"../../RpgClientEngine\";\n import { useProps, useDefineProps } from 'canvasengine'\n\n export default function component($$props) {\n const $props = useProps($$props)\n const defineProps = useDefineProps($$props)\n var engine = inject(RpgClientEngine);\nvar effects = engine.effects;\nvar map = engine.sceneMap.data;\nvar sceneComponent = computed(function () { var _a; return (_a = map()) === null || _a === void 0 ? void 0 : _a.component; });\nvar mapParams = map().params;\nvar animations = engine.sceneMap.animations;\nvar backgroundMusic = { src: mapParams === null || mapParams === void 0 ? void 0 : mapParams.backgroundMusic, autoplay: true, loop: true };\nvar backgroundAmbientSound = { src: mapParams === null || mapParams === void 0 ? void 0 : mapParams.backgroundAmbientSound, autoplay: true, loop: true };\nvar data = signal(map().data);\nvar scale = (mapParams === null || mapParams === void 0 ? void 0 : mapParams.scale) || 1;\nvar worldWidth = ((mapParams === null || mapParams === void 0 ? void 0 : mapParams.width) || 2048) * scale;\nvar worldHeight = ((mapParams === null || mapParams === void 0 ? void 0 : mapParams.height) || 2048) * scale;\nvar clamp = {\n direction: \"all\"\n}\n let $this = h(Container, { sound: backgroundMusic }, [h(Container, { sound: backgroundAmbientSound }), h(sceneComponent(), { data: computed(() => map().data) }), loop(effects, effect => h(Container, null, loop(effect.current, animation => h(effect.component, animation))))])\n return $this\n }\n "],"names":[],"mappings":";;;;AAQqB,SAAS,SAAS,CAAC,OAAO,EAAE;AACjD,QAAuB,QAAQ,CAAC,OAAO;AACvC,QAA4B,cAAc,CAAC,OAAO;AAClD,QAAQ,IAAI,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;AAC5C,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO;AAC5B,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI;AAC9B,IAAI,cAAc,GAAG,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;AAC7H,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC,MAAM;AACX,MAAM,CAAC,QAAQ,CAAC;AACjC,IAAI,eAAe,GAAG,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AAC1I,IAAI,sBAAsB,GAAG,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7I,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI;AAC5B,IAAI,KAAK,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,KAAK,KAAK,CAAC;AACvE,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,KAAK,KAAK,IAAI,IAAI;AACnF,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,MAAM,KAAK,IAAI,IAAI;AAIvG,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACzR,QAAQ,OAAO;AACf;;;;"}
package/dist/index30.js CHANGED
@@ -1,4 +1,4 @@
1
- import { RpgClientObject } from './index38.js';
1
+ import { RpgClientObject } from './index39.js';
2
2
 
3
3
  class RpgClientPlayer extends RpgClientObject {
4
4
  constructor() {
package/dist/index31.js CHANGED
@@ -1,4 +1,4 @@
1
- import { RpgClientObject } from './index38.js';
1
+ import { RpgClientObject } from './index39.js';
2
2
 
3
3
  class RpgClientEvent extends RpgClientObject {
4
4
  constructor() {
package/dist/index35.js CHANGED
@@ -1,61 +1,174 @@
1
- import { useProps, useDefineProps, mount, signal, h, Container, loop, computed } from 'canvasengine';
2
- import component$1 from './index39.js';
3
- import { RpgClientEngine } from './index2.js';
4
- import { inject } from './index6.js';
1
+ import { ReconnectingWebSocket } from './index36.js';
5
2
 
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();
3
+ // src/index.ts
4
+ var valueIsNotNil = (keyValuePair) =>
5
+ keyValuePair[1] !== null && keyValuePair[1] !== void 0;
6
+ function generateUUID() {
7
+ if (typeof crypto !== "undefined" && crypto.randomUUID) {
8
+ return crypto.randomUUID();
9
+ }
10
+ let d = /* @__PURE__ */ new Date().getTime();
11
+ let d2 =
12
+ (typeof performance !== "undefined" &&
13
+ performance.now &&
14
+ performance.now() * 1e3) ||
15
+ 0;
16
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
17
+ let r = Math.random() * 16;
18
+ if (d > 0) {
19
+ r = (d + r) % 16 | 0;
20
+ d = Math.floor(d / 16);
21
+ } else {
22
+ r = (d2 + r) % 16 | 0;
23
+ d2 = Math.floor(d2 / 16);
24
+ }
25
+ return (c === "x" ? r : (r & 3) | 8).toString(16);
26
+ });
27
+ }
28
+ function getPartyInfo(partySocketOptions, defaultProtocol, defaultParams = {}) {
29
+ const {
30
+ host: rawHost,
31
+ path: rawPath,
32
+ protocol: rawProtocol,
33
+ room,
34
+ party,
35
+ basePath,
36
+ prefix,
37
+ query
38
+ } = partySocketOptions;
39
+ let host = rawHost.replace(/^(http|https|ws|wss):\/\//, "");
40
+ if (host.endsWith("/")) {
41
+ host = host.slice(0, -1);
42
+ }
43
+ if (rawPath == null ? void 0 : rawPath.startsWith("/")) {
44
+ throw new Error("path must not start with a slash");
45
+ }
46
+ const name = party ?? "main";
47
+ const path = rawPath ? `/${rawPath}` : "";
48
+ const protocol =
49
+ rawProtocol ||
50
+ (host.startsWith("localhost:") ||
51
+ host.startsWith("127.0.0.1:") ||
52
+ host.startsWith("192.168.") ||
53
+ host.startsWith("10.") ||
54
+ (host.startsWith("172.") &&
55
+ host.split(".")[1] >= "16" &&
56
+ host.split(".")[1] <= "31") ||
57
+ host.startsWith("[::ffff:7f00:1]:")
58
+ ? // http / ws
59
+ defaultProtocol
60
+ : // https / wss
61
+ `${defaultProtocol}s`);
62
+ const baseUrl = `${protocol}://${host}/${basePath || `${prefix || "parties"}/${name}/${room}`}${path}`;
63
+ const makeUrl = (query2 = {}) =>
64
+ `${baseUrl}?${new URLSearchParams([
65
+ ...Object.entries(defaultParams),
66
+ ...Object.entries(query2).filter(valueIsNotNil)
67
+ ])}`;
68
+ const urlProvider =
69
+ typeof query === "function"
70
+ ? async () => makeUrl(await query())
71
+ : makeUrl(query);
72
+ return {
73
+ host,
74
+ path,
75
+ room,
76
+ name,
77
+ protocol,
78
+ partyUrl: baseUrl,
79
+ urlProvider
80
+ };
81
+ }
82
+ var PartySocket = class extends ReconnectingWebSocket {
83
+ constructor(partySocketOptions) {
84
+ const wsOptions = getWSOptions(partySocketOptions);
85
+ super(wsOptions.urlProvider, wsOptions.protocols, wsOptions.socketOptions);
86
+ this.partySocketOptions = partySocketOptions;
87
+ this.setWSProperties(wsOptions);
88
+ }
89
+ _pk;
90
+ _pkurl;
91
+ name;
92
+ room;
93
+ host;
94
+ path;
95
+ updateProperties(partySocketOptions) {
96
+ const wsOptions = getWSOptions({
97
+ ...this.partySocketOptions,
98
+ ...partySocketOptions,
99
+ host: partySocketOptions.host ?? this.host,
100
+ room: partySocketOptions.room ?? this.room,
101
+ path: partySocketOptions.path ?? this.path
15
102
  });
103
+ this._url = wsOptions.urlProvider;
104
+ this._protocols = wsOptions.protocols;
105
+ this._options = wsOptions.socketOptions;
106
+ this.setWSProperties(wsOptions);
107
+ }
108
+ setWSProperties(wsOptions) {
109
+ const { _pk, _pkurl, name, room, host, path } = wsOptions;
110
+ this._pk = _pk;
111
+ this._pkurl = _pkurl;
112
+ this.name = name;
113
+ this.room = room;
114
+ this.host = host;
115
+ this.path = path;
116
+ }
117
+ reconnect(code, reason) {
118
+ if (!this.room || !this.host) {
119
+ throw new Error(
120
+ "The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor."
121
+ );
122
+ }
123
+ super.reconnect(code, reason);
124
+ }
125
+ get id() {
126
+ return this._pk;
127
+ }
128
+ /**
129
+ * Exposes the static PartyKit room URL without applying query parameters.
130
+ * To access the currently connected WebSocket url, use PartySocket#url.
131
+ */
132
+ get roomUrl() {
133
+ return this._pkurl;
134
+ }
135
+ // a `fetch` method that uses (almost) the same options as `PartySocket`
136
+ static async fetch(options, init) {
137
+ const party = getPartyInfo(options, "http");
138
+ const url =
139
+ typeof party.urlProvider === "string"
140
+ ? party.urlProvider
141
+ : await party.urlProvider();
142
+ const doFetch = options.fetch ?? fetch;
143
+ return doFetch(url, init);
144
+ }
16
145
  };
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
- }
146
+ function getWSOptions(partySocketOptions) {
147
+ const {
148
+ id,
149
+ host: _host,
150
+ path: _path,
151
+ party: _party,
152
+ room: _room,
153
+ protocol: _protocol,
154
+ query: _query,
155
+ protocols,
156
+ ...socketOptions
157
+ } = partySocketOptions;
158
+ const _pk = id || generateUUID();
159
+ const party = getPartyInfo(partySocketOptions, "ws", { _pk });
160
+ return {
161
+ _pk,
162
+ _pkurl: party.partyUrl,
163
+ name: party.name,
164
+ room: party.room,
165
+ host: party.host,
166
+ path: party.path,
167
+ protocols,
168
+ socketOptions,
169
+ urlProvider: party.urlProvider
170
+ };
171
+ }
59
172
 
60
- export { component as default };
173
+ export { PartySocket };
61
174
  //# sourceMappingURL=index35.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index35.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;;;;"}
1
+ {"version":3,"file":"index35.js","sources":["../../../node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-HAC622V3.mjs"],"sourcesContent":["import { ReconnectingWebSocket } from \"./chunk-S74YV6PU.mjs\";\n\n// src/index.ts\nvar valueIsNotNil = (keyValuePair) =>\n keyValuePair[1] !== null && keyValuePair[1] !== void 0;\nfunction generateUUID() {\n if (typeof crypto !== \"undefined\" && crypto.randomUUID) {\n return crypto.randomUUID();\n }\n let d = /* @__PURE__ */ new Date().getTime();\n let d2 =\n (typeof performance !== \"undefined\" &&\n performance.now &&\n performance.now() * 1e3) ||\n 0;\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n let r = Math.random() * 16;\n if (d > 0) {\n r = (d + r) % 16 | 0;\n d = Math.floor(d / 16);\n } else {\n r = (d2 + r) % 16 | 0;\n d2 = Math.floor(d2 / 16);\n }\n return (c === \"x\" ? r : (r & 3) | 8).toString(16);\n });\n}\nfunction getPartyInfo(partySocketOptions, defaultProtocol, defaultParams = {}) {\n const {\n host: rawHost,\n path: rawPath,\n protocol: rawProtocol,\n room,\n party,\n basePath,\n prefix,\n query\n } = partySocketOptions;\n let host = rawHost.replace(/^(http|https|ws|wss):\\/\\//, \"\");\n if (host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n }\n if (rawPath == null ? void 0 : rawPath.startsWith(\"/\")) {\n throw new Error(\"path must not start with a slash\");\n }\n const name = party ?? \"main\";\n const path = rawPath ? `/${rawPath}` : \"\";\n const protocol =\n rawProtocol ||\n (host.startsWith(\"localhost:\") ||\n host.startsWith(\"127.0.0.1:\") ||\n host.startsWith(\"192.168.\") ||\n host.startsWith(\"10.\") ||\n (host.startsWith(\"172.\") &&\n host.split(\".\")[1] >= \"16\" &&\n host.split(\".\")[1] <= \"31\") ||\n host.startsWith(\"[::ffff:7f00:1]:\")\n ? // http / ws\n defaultProtocol\n : // https / wss\n `${defaultProtocol}s`);\n const baseUrl = `${protocol}://${host}/${basePath || `${prefix || \"parties\"}/${name}/${room}`}${path}`;\n const makeUrl = (query2 = {}) =>\n `${baseUrl}?${new URLSearchParams([\n ...Object.entries(defaultParams),\n ...Object.entries(query2).filter(valueIsNotNil)\n ])}`;\n const urlProvider =\n typeof query === \"function\"\n ? async () => makeUrl(await query())\n : makeUrl(query);\n return {\n host,\n path,\n room,\n name,\n protocol,\n partyUrl: baseUrl,\n urlProvider\n };\n}\nvar PartySocket = class extends ReconnectingWebSocket {\n constructor(partySocketOptions) {\n const wsOptions = getWSOptions(partySocketOptions);\n super(wsOptions.urlProvider, wsOptions.protocols, wsOptions.socketOptions);\n this.partySocketOptions = partySocketOptions;\n this.setWSProperties(wsOptions);\n }\n _pk;\n _pkurl;\n name;\n room;\n host;\n path;\n updateProperties(partySocketOptions) {\n const wsOptions = getWSOptions({\n ...this.partySocketOptions,\n ...partySocketOptions,\n host: partySocketOptions.host ?? this.host,\n room: partySocketOptions.room ?? this.room,\n path: partySocketOptions.path ?? this.path\n });\n this._url = wsOptions.urlProvider;\n this._protocols = wsOptions.protocols;\n this._options = wsOptions.socketOptions;\n this.setWSProperties(wsOptions);\n }\n setWSProperties(wsOptions) {\n const { _pk, _pkurl, name, room, host, path } = wsOptions;\n this._pk = _pk;\n this._pkurl = _pkurl;\n this.name = name;\n this.room = room;\n this.host = host;\n this.path = path;\n }\n reconnect(code, reason) {\n if (!this.room || !this.host) {\n throw new Error(\n \"The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor.\"\n );\n }\n super.reconnect(code, reason);\n }\n get id() {\n return this._pk;\n }\n /**\n * Exposes the static PartyKit room URL without applying query parameters.\n * To access the currently connected WebSocket url, use PartySocket#url.\n */\n get roomUrl() {\n return this._pkurl;\n }\n // a `fetch` method that uses (almost) the same options as `PartySocket`\n static async fetch(options, init) {\n const party = getPartyInfo(options, \"http\");\n const url =\n typeof party.urlProvider === \"string\"\n ? party.urlProvider\n : await party.urlProvider();\n const doFetch = options.fetch ?? fetch;\n return doFetch(url, init);\n }\n};\nfunction getWSOptions(partySocketOptions) {\n const {\n id,\n host: _host,\n path: _path,\n party: _party,\n room: _room,\n protocol: _protocol,\n query: _query,\n protocols,\n ...socketOptions\n } = partySocketOptions;\n const _pk = id || generateUUID();\n const party = getPartyInfo(partySocketOptions, \"ws\", { _pk });\n return {\n _pk,\n _pkurl: party.partyUrl,\n name: party.name,\n room: party.room,\n host: party.host,\n path: party.path,\n protocols,\n socketOptions,\n urlProvider: party.urlProvider\n };\n}\n\nexport { PartySocket };\n//# sourceMappingURL=chunk-HAC622V3.mjs.map\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}