@momoyu-ink/kit 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +21 -0
- package/dist/bindings/AnimationFormat.d.ts +1 -0
- package/dist/bindings/AnimationFormat.js +4 -0
- package/dist/bindings/AnimationFormat.js.map +1 -0
- package/dist/bindings/AnimationFrameCallbackEvent.d.ts +3 -0
- package/dist/bindings/AnimationFrameCallbackEvent.js +4 -0
- package/dist/bindings/AnimationFrameCallbackEvent.js.map +1 -0
- package/dist/bindings/AnimationProps.d.ts +6 -0
- package/dist/bindings/AnimationProps.js +3 -0
- package/dist/bindings/AnimationProps.js.map +1 -0
- package/dist/bindings/AudioCommand.d.ts +52 -0
- package/dist/bindings/AudioCommand.js +3 -0
- package/dist/bindings/AudioCommand.js.map +1 -0
- package/dist/bindings/AudioSettings.d.ts +42 -0
- package/dist/bindings/AudioSettings.js +4 -0
- package/dist/bindings/AudioSettings.js.map +1 -0
- package/dist/bindings/BackdropProps.d.ts +6 -0
- package/dist/bindings/BackdropProps.js +3 -0
- package/dist/bindings/BackdropProps.js.map +1 -0
- package/dist/bindings/BeforeUnloadEvent.d.ts +1 -0
- package/dist/bindings/BeforeUnloadEvent.js +4 -0
- package/dist/bindings/BeforeUnloadEvent.js.map +1 -0
- package/dist/bindings/ClipProps.d.ts +4 -0
- package/dist/bindings/ClipProps.js +4 -0
- package/dist/bindings/ClipProps.js.map +1 -0
- package/dist/bindings/CustomEvent.d.ts +18 -0
- package/dist/bindings/CustomEvent.js +4 -0
- package/dist/bindings/CustomEvent.js.map +1 -0
- package/dist/bindings/EffectParams.d.ts +6 -0
- package/dist/bindings/EffectParams.js +4 -0
- package/dist/bindings/EffectParams.js.map +1 -0
- package/dist/bindings/FilterKind.d.ts +34 -0
- package/dist/bindings/FilterKind.js +4 -0
- package/dist/bindings/FilterKind.js.map +1 -0
- package/dist/bindings/FilterProps.d.ts +4 -0
- package/dist/bindings/FilterProps.js +3 -0
- package/dist/bindings/FilterProps.js.map +1 -0
- package/dist/bindings/FocusEvent.d.ts +5 -0
- package/dist/bindings/FocusEvent.js +3 -0
- package/dist/bindings/FocusEvent.js.map +1 -0
- package/dist/bindings/FocusEventKind.d.ts +1 -0
- package/dist/bindings/FocusEventKind.js +4 -0
- package/dist/bindings/FocusEventKind.js.map +1 -0
- package/dist/bindings/FullScreenEvent.d.ts +4 -0
- package/dist/bindings/FullScreenEvent.js +3 -0
- package/dist/bindings/FullScreenEvent.js.map +1 -0
- package/dist/bindings/FullscreenEventKind.d.ts +1 -0
- package/dist/bindings/FullscreenEventKind.js +4 -0
- package/dist/bindings/FullscreenEventKind.js.map +1 -0
- package/dist/bindings/GameEvent.d.ts +1 -0
- package/dist/bindings/GameEvent.js +4 -0
- package/dist/bindings/GameEvent.js.map +1 -0
- package/dist/bindings/Gamepad.d.ts +44 -0
- package/dist/bindings/Gamepad.js +3 -0
- package/dist/bindings/Gamepad.js.map +1 -0
- package/dist/bindings/GamepadButton.d.ts +20 -0
- package/dist/bindings/GamepadButton.js +4 -0
- package/dist/bindings/GamepadButton.js.map +1 -0
- package/dist/bindings/GamepadCommand.d.ts +9 -0
- package/dist/bindings/GamepadCommand.js +3 -0
- package/dist/bindings/GamepadCommand.js.map +1 -0
- package/dist/bindings/GamepadEvent.d.ts +12 -0
- package/dist/bindings/GamepadEvent.js +3 -0
- package/dist/bindings/GamepadEvent.js.map +1 -0
- package/dist/bindings/GamepadHapticActuator.d.ts +11 -0
- package/dist/bindings/GamepadHapticActuator.js +4 -0
- package/dist/bindings/GamepadHapticActuator.js.map +1 -0
- package/dist/bindings/KeyboardEventKind.d.ts +1 -0
- package/dist/bindings/KeyboardEventKind.js +4 -0
- package/dist/bindings/KeyboardEventKind.js.map +1 -0
- package/dist/bindings/KeyboardLocation.d.ts +1 -0
- package/dist/bindings/KeyboardLocation.js +4 -0
- package/dist/bindings/KeyboardLocation.js.map +1 -0
- package/dist/bindings/Literal.d.ts +3 -0
- package/dist/bindings/Literal.js +4 -0
- package/dist/bindings/Literal.js.map +1 -0
- package/dist/bindings/MouseEventKind.d.ts +1 -0
- package/dist/bindings/MouseEventKind.js +4 -0
- package/dist/bindings/MouseEventKind.js.map +1 -0
- package/dist/bindings/MoyuCursor.d.ts +1 -0
- package/dist/bindings/MoyuCursor.js +4 -0
- package/dist/bindings/MoyuCursor.js.map +1 -0
- package/dist/bindings/NineSliceMode.d.ts +1 -0
- package/dist/bindings/NineSliceMode.js +4 -0
- package/dist/bindings/NineSliceMode.js.map +1 -0
- package/dist/bindings/NodeEvent.d.ts +4 -0
- package/dist/bindings/NodeEvent.js +4 -0
- package/dist/bindings/NodeEvent.js.map +1 -0
- package/dist/bindings/NodeProps.d.ts +20 -0
- package/dist/bindings/NodeProps.js +3 -0
- package/dist/bindings/NodeProps.js.map +1 -0
- package/dist/bindings/RawKeyboardEvent.d.ts +16 -0
- package/dist/bindings/RawKeyboardEvent.js +3 -0
- package/dist/bindings/RawKeyboardEvent.js.map +1 -0
- package/dist/bindings/RawMouseEvent.d.ts +12 -0
- package/dist/bindings/RawMouseEvent.js +3 -0
- package/dist/bindings/RawMouseEvent.js.map +1 -0
- package/dist/bindings/RawTouchEvent.d.ts +13 -0
- package/dist/bindings/RawTouchEvent.js +3 -0
- package/dist/bindings/RawTouchEvent.js.map +1 -0
- package/dist/bindings/RawWheelEvent.d.ts +9 -0
- package/dist/bindings/RawWheelEvent.js +3 -0
- package/dist/bindings/RawWheelEvent.js.map +1 -0
- package/dist/bindings/ResizeEvent.d.ts +4 -0
- package/dist/bindings/ResizeEvent.js +4 -0
- package/dist/bindings/ResizeEvent.js.map +1 -0
- package/dist/bindings/ResolvedArgument.d.ts +5 -0
- package/dist/bindings/ResolvedArgument.js +3 -0
- package/dist/bindings/ResolvedArgument.js.map +1 -0
- package/dist/bindings/ResolvedCommandLine.d.ts +5 -0
- package/dist/bindings/ResolvedCommandLine.js +3 -0
- package/dist/bindings/ResolvedCommandLine.js.map +1 -0
- package/dist/bindings/ResolvedSystemCallLine.d.ts +5 -0
- package/dist/bindings/ResolvedSystemCallLine.js +3 -0
- package/dist/bindings/ResolvedSystemCallLine.js.map +1 -0
- package/dist/bindings/ScenarioCommand.d.ts +90 -0
- package/dist/bindings/ScenarioCommand.js +3 -0
- package/dist/bindings/ScenarioCommand.js.map +1 -0
- package/dist/bindings/ScenarioEvent.d.ts +4 -0
- package/dist/bindings/ScenarioEvent.js +3 -0
- package/dist/bindings/ScenarioEvent.js.map +1 -0
- package/dist/bindings/SpriteMode.d.ts +1 -0
- package/dist/bindings/SpriteMode.js +4 -0
- package/dist/bindings/SpriteMode.js.map +1 -0
- package/dist/bindings/SpriteProps.d.ts +11 -0
- package/dist/bindings/SpriteProps.js +3 -0
- package/dist/bindings/SpriteProps.js.map +1 -0
- package/dist/bindings/SystemCommand.d.ts +28 -0
- package/dist/bindings/SystemCommand.js +3 -0
- package/dist/bindings/SystemCommand.js.map +1 -0
- package/dist/bindings/TextCommand.d.ts +9 -0
- package/dist/bindings/TextCommand.js +4 -0
- package/dist/bindings/TextCommand.js.map +1 -0
- package/dist/bindings/TextEvent.d.ts +1 -0
- package/dist/bindings/TextEvent.js +4 -0
- package/dist/bindings/TextEvent.js.map +1 -0
- package/dist/bindings/TextLine.d.ts +5 -0
- package/dist/bindings/TextLine.js +4 -0
- package/dist/bindings/TextLine.js.map +1 -0
- package/dist/bindings/TextPrintMode.d.ts +4 -0
- package/dist/bindings/TextPrintMode.js +4 -0
- package/dist/bindings/TextPrintMode.js.map +1 -0
- package/dist/bindings/TextProps.d.ts +41 -0
- package/dist/bindings/TextProps.js +3 -0
- package/dist/bindings/TextProps.js.map +1 -0
- package/dist/bindings/TouchEventKind.d.ts +1 -0
- package/dist/bindings/TouchEventKind.js +4 -0
- package/dist/bindings/TouchEventKind.js.map +1 -0
- package/dist/bindings/WheelEventDeltaMode.d.ts +1 -0
- package/dist/bindings/WheelEventDeltaMode.js +4 -0
- package/dist/bindings/WheelEventDeltaMode.js.map +1 -0
- package/dist/bindings/WindowState.d.ts +1 -0
- package/dist/bindings/WindowState.js +4 -0
- package/dist/bindings/WindowState.js.map +1 -0
- package/dist/bindings/serde_json/JsonValue.d.ts +3 -0
- package/dist/bindings/serde_json/JsonValue.js +4 -0
- package/dist/bindings/serde_json/JsonValue.js.map +1 -0
- package/dist/commands.d.ts +17 -0
- package/dist/commands.js +25 -0
- package/dist/commands.js.map +1 -0
- package/dist/components/navigation.d.ts +154 -0
- package/dist/components/navigation.js +253 -0
- package/dist/components/navigation.js.map +1 -0
- package/dist/declaration.d.ts +74 -0
- package/dist/declaration.js +3 -0
- package/dist/declaration.js.map +1 -0
- package/dist/events/base.d.ts +16 -0
- package/dist/events/base.js +20 -0
- package/dist/events/base.js.map +1 -0
- package/dist/events/globals.d.ts +2 -0
- package/dist/events/globals.js +123 -0
- package/dist/events/globals.js.map +1 -0
- package/dist/events/keyboard.d.ts +37 -0
- package/dist/events/keyboard.js +3 -0
- package/dist/events/keyboard.js.map +1 -0
- package/dist/events/listener.d.ts +1 -0
- package/dist/events/listener.js +14 -0
- package/dist/events/listener.js.map +1 -0
- package/dist/events/mouse.d.ts +15 -0
- package/dist/events/mouse.js +3 -0
- package/dist/events/mouse.js.map +1 -0
- package/dist/events/touch.d.ts +16 -0
- package/dist/events/touch.js +3 -0
- package/dist/events/touch.js.map +1 -0
- package/dist/events.d.ts +32 -0
- package/dist/events.js +49 -0
- package/dist/events.js.map +1 -0
- package/dist/hooks/useFadeInOut.d.ts +16 -0
- package/dist/hooks/useFadeInOut.js +63 -0
- package/dist/hooks/useFadeInOut.js.map +1 -0
- package/dist/hooks/useScenario.d.ts +13 -0
- package/dist/hooks/useScenario.js +65 -0
- package/dist/hooks/useScenario.js.map +1 -0
- package/dist/hooks/useSoundEffect.d.ts +4 -0
- package/dist/hooks/useSoundEffect.js +64 -0
- package/dist/hooks/useSoundEffect.js.map +1 -0
- package/dist/hooks/useStage.d.ts +85 -0
- package/dist/hooks/useStage.js +409 -0
- package/dist/hooks/useStage.js.map +1 -0
- package/dist/hooks.d.ts +4 -0
- package/dist/hooks.js +21 -0
- package/dist/hooks.js.map +1 -0
- package/dist/lib.d.ts +13 -0
- package/dist/lib.js +53 -0
- package/dist/lib.js.map +1 -0
- package/dist/moyu.d.ts +18 -0
- package/dist/moyu.js +50 -0
- package/dist/moyu.js.map +1 -0
- package/dist/node.d.ts +16 -0
- package/dist/node.js +106 -0
- package/dist/node.js.map +1 -0
- package/dist/react.d.ts +20 -0
- package/dist/react.js +223 -0
- package/dist/react.js.map +1 -0
- package/dist/runtime-globals.d.ts +63 -0
- package/dist/runtime-globals.js +3 -0
- package/dist/runtime-globals.js.map +1 -0
- package/dist/spring/animated.d.ts +27 -0
- package/dist/spring/animated.js +3 -0
- package/dist/spring/animated.js.map +1 -0
- package/dist/spring/index.d.ts +5 -0
- package/dist/spring/index.js +39 -0
- package/dist/spring/index.js.map +1 -0
- package/dist/spring/primitives.d.ts +3 -0
- package/dist/spring/primitives.js +5 -0
- package/dist/spring/primitives.js.map +1 -0
- package/dist/state.d.ts +6 -0
- package/dist/state.js +9 -0
- package/dist/state.js.map +1 -0
- package/dist/utils.d.ts +10 -0
- package/dist/utils.js +11 -0
- package/dist/utils.js.map +1 -0
- package/jsx-runtime.d.ts +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../src/events/globals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { KeyboardEventKind } from '../bindings/KeyboardEventKind';
|
|
2
|
+
import type { BubbleEvent } from './base';
|
|
3
|
+
/**
|
|
4
|
+
* KeyboardEvent objects describe a user interaction with the keyboard; each event describes a single interaction between the user and a key (or combination of a key with modifier keys) on the keyboard.
|
|
5
|
+
*
|
|
6
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent)
|
|
7
|
+
*/
|
|
8
|
+
export interface KeyboardEvent extends BubbleEvent {
|
|
9
|
+
readonly kind: KeyboardEventKind;
|
|
10
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/altKey) */
|
|
11
|
+
readonly altKey: boolean;
|
|
12
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/code) */
|
|
13
|
+
readonly code: string;
|
|
14
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/ctrlKey) */
|
|
15
|
+
readonly ctrlKey: boolean;
|
|
16
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/isComposing) */
|
|
17
|
+
readonly isComposing: boolean;
|
|
18
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/key) */
|
|
19
|
+
readonly key: string;
|
|
20
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/location) */
|
|
21
|
+
readonly location: number;
|
|
22
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/metaKey) */
|
|
23
|
+
readonly metaKey: boolean;
|
|
24
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/repeat) */
|
|
25
|
+
readonly repeat: boolean;
|
|
26
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/shiftKey) */
|
|
27
|
+
readonly shiftKey: boolean;
|
|
28
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/getModifierState)
|
|
29
|
+
*
|
|
30
|
+
* Not implemented yet
|
|
31
|
+
*/
|
|
32
|
+
getModifierState(keyArg: string): boolean;
|
|
33
|
+
readonly DOM_KEY_LOCATION_STANDARD: 0x00;
|
|
34
|
+
readonly DOM_KEY_LOCATION_LEFT: 0x01;
|
|
35
|
+
readonly DOM_KEY_LOCATION_RIGHT: 0x02;
|
|
36
|
+
readonly DOM_KEY_LOCATION_NUMPAD: 0x03;
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../src/events/keyboard.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function addEventListener(name: string, callback: (...args: any[]) => void): () => void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addEventListener = addEventListener;
|
|
4
|
+
const globals_1 = require("./globals");
|
|
5
|
+
function addEventListener(name, callback) {
|
|
6
|
+
if (!globals_1.globalEventListeners[name]) {
|
|
7
|
+
globals_1.globalEventListeners[name] = [];
|
|
8
|
+
}
|
|
9
|
+
globals_1.globalEventListeners[name].push(callback);
|
|
10
|
+
return () => {
|
|
11
|
+
globals_1.globalEventListeners[name] = globals_1.globalEventListeners[name].filter((cb) => cb !== callback);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=listener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/events/listener.ts"],"names":[],"mappings":";;AAEA,4CAUC;AAZD,uCAAiD;AAEjD,SAAgB,gBAAgB,CAAC,IAAY,EAAE,QAAkC;IAC/E,IAAI,CAAC,8BAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,8BAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,8BAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE1C,OAAO,GAAG,EAAE;QACV,8BAAoB,CAAC,IAAI,CAAC,GAAG,8BAAoB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC1F,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MouseEventKind } from '../bindings/MouseEventKind';
|
|
2
|
+
import type { BubbleEvent } from './base';
|
|
3
|
+
export interface MouseEvent extends BubbleEvent {
|
|
4
|
+
kind: MouseEventKind;
|
|
5
|
+
targetId: number;
|
|
6
|
+
currentTargetId: number;
|
|
7
|
+
targetLabel?: string;
|
|
8
|
+
currentTargetLabel?: string;
|
|
9
|
+
clientX: number;
|
|
10
|
+
clientY: number;
|
|
11
|
+
screenX: number;
|
|
12
|
+
screenY: number;
|
|
13
|
+
offsetX: number;
|
|
14
|
+
offsetY: number;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mouse.js","sourceRoot":"","sources":["../../src/events/mouse.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TouchEventKind } from '../bindings/TouchEventKind';
|
|
2
|
+
import type { BubbleEvent } from './base';
|
|
3
|
+
export interface TouchEvent extends BubbleEvent {
|
|
4
|
+
kind: TouchEventKind;
|
|
5
|
+
targetId: number;
|
|
6
|
+
currentTargetId: number;
|
|
7
|
+
targetLabel: string;
|
|
8
|
+
currentTargetLabel: string;
|
|
9
|
+
clientX: number;
|
|
10
|
+
clientY: number;
|
|
11
|
+
screenX: number;
|
|
12
|
+
screenY: number;
|
|
13
|
+
offsetX: number;
|
|
14
|
+
offsetY: number;
|
|
15
|
+
identifier: number;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touch.js","sourceRoot":"","sources":["../../src/events/touch.ts"],"names":[],"mappings":""}
|
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export * from './events/base';
|
|
2
|
+
export * from './events/globals';
|
|
3
|
+
export * from './events/keyboard';
|
|
4
|
+
export * from './events/listener';
|
|
5
|
+
export * from './events/mouse';
|
|
6
|
+
export * from './events/touch';
|
|
7
|
+
export * from './bindings/AnimationFrameCallbackEvent';
|
|
8
|
+
export * from './bindings/BeforeUnloadEvent';
|
|
9
|
+
export * from './bindings/CustomEvent';
|
|
10
|
+
export * from './bindings/FocusEvent';
|
|
11
|
+
export * from './bindings/FocusEventKind';
|
|
12
|
+
export * from './bindings/FullScreenEvent';
|
|
13
|
+
export * from './bindings/FullscreenEventKind';
|
|
14
|
+
export * from './bindings/GameEvent';
|
|
15
|
+
export * from './bindings/Gamepad';
|
|
16
|
+
export * from './bindings/GamepadButton';
|
|
17
|
+
export * from './bindings/GamepadEvent';
|
|
18
|
+
export * from './bindings/GamepadHapticActuator';
|
|
19
|
+
export * from './bindings/KeyboardEventKind';
|
|
20
|
+
export * from './bindings/KeyboardLocation';
|
|
21
|
+
export * from './bindings/Literal';
|
|
22
|
+
export * from './bindings/MouseEventKind';
|
|
23
|
+
export * from './bindings/NodeEvent';
|
|
24
|
+
export * from './bindings/ResizeEvent';
|
|
25
|
+
export * from './bindings/ResolvedArgument';
|
|
26
|
+
export * from './bindings/ResolvedCommandLine';
|
|
27
|
+
export * from './bindings/ResolvedSystemCallLine';
|
|
28
|
+
export * from './bindings/TextLine';
|
|
29
|
+
export * from './bindings/ScenarioEvent';
|
|
30
|
+
export * from './bindings/TextEvent';
|
|
31
|
+
export * from './bindings/TouchEventKind';
|
|
32
|
+
export * from './bindings/WheelEventDeltaMode';
|
package/dist/events.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./events/base"), exports);
|
|
18
|
+
__exportStar(require("./events/globals"), exports);
|
|
19
|
+
__exportStar(require("./events/keyboard"), exports);
|
|
20
|
+
__exportStar(require("./events/listener"), exports);
|
|
21
|
+
__exportStar(require("./events/mouse"), exports);
|
|
22
|
+
__exportStar(require("./events/touch"), exports);
|
|
23
|
+
__exportStar(require("./bindings/AnimationFrameCallbackEvent"), exports);
|
|
24
|
+
__exportStar(require("./bindings/BeforeUnloadEvent"), exports);
|
|
25
|
+
__exportStar(require("./bindings/CustomEvent"), exports);
|
|
26
|
+
__exportStar(require("./bindings/FocusEvent"), exports);
|
|
27
|
+
__exportStar(require("./bindings/FocusEventKind"), exports);
|
|
28
|
+
__exportStar(require("./bindings/FullScreenEvent"), exports);
|
|
29
|
+
__exportStar(require("./bindings/FullscreenEventKind"), exports);
|
|
30
|
+
__exportStar(require("./bindings/GameEvent"), exports);
|
|
31
|
+
__exportStar(require("./bindings/Gamepad"), exports);
|
|
32
|
+
__exportStar(require("./bindings/GamepadButton"), exports);
|
|
33
|
+
__exportStar(require("./bindings/GamepadEvent"), exports);
|
|
34
|
+
__exportStar(require("./bindings/GamepadHapticActuator"), exports);
|
|
35
|
+
__exportStar(require("./bindings/KeyboardEventKind"), exports);
|
|
36
|
+
__exportStar(require("./bindings/KeyboardLocation"), exports);
|
|
37
|
+
__exportStar(require("./bindings/Literal"), exports);
|
|
38
|
+
__exportStar(require("./bindings/MouseEventKind"), exports);
|
|
39
|
+
__exportStar(require("./bindings/NodeEvent"), exports);
|
|
40
|
+
__exportStar(require("./bindings/ResizeEvent"), exports);
|
|
41
|
+
__exportStar(require("./bindings/ResolvedArgument"), exports);
|
|
42
|
+
__exportStar(require("./bindings/ResolvedCommandLine"), exports);
|
|
43
|
+
__exportStar(require("./bindings/ResolvedSystemCallLine"), exports);
|
|
44
|
+
__exportStar(require("./bindings/TextLine"), exports);
|
|
45
|
+
__exportStar(require("./bindings/ScenarioEvent"), exports);
|
|
46
|
+
__exportStar(require("./bindings/TextEvent"), exports);
|
|
47
|
+
__exportStar(require("./bindings/TouchEventKind"), exports);
|
|
48
|
+
__exportStar(require("./bindings/WheelEventDeltaMode"), exports);
|
|
49
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,mDAAiC;AACjC,oDAAkC;AAClC,oDAAkC;AAClC,iDAA+B;AAC/B,iDAA+B;AAE/B,yEAAuD;AACvD,+DAA6C;AAC7C,yDAAuC;AACvC,wDAAsC;AACtC,4DAA0C;AAC1C,6DAA2C;AAC3C,iEAA+C;AAC/C,uDAAqC;AACrC,qDAAmC;AACnC,2DAAyC;AACzC,0DAAwC;AACxC,mEAAiD;AACjD,+DAA6C;AAC7C,8DAA4C;AAC5C,qDAAmC;AACnC,4DAA0C;AAC1C,uDAAqC;AACrC,yDAAuC;AACvC,8DAA4C;AAC5C,iEAA+C;AAC/C,oEAAkD;AAClD,sDAAoC;AACpC,2DAAyC;AACzC,uDAAqC;AACrC,4DAA0C;AAC1C,iEAA+C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type SpringRef, type SpringValues } from '../spring';
|
|
2
|
+
export declare function useFadeInOut(inTime: number, _keepTime: number, _outTime: number, pause?: boolean, onFinished?: () => void): [SpringValues<{
|
|
3
|
+
opacity: number;
|
|
4
|
+
}>, SpringRef<{
|
|
5
|
+
opacity: number;
|
|
6
|
+
}>, () => void];
|
|
7
|
+
export declare function useFadeIn(inTime: number, pause?: boolean, onFinished?: () => void): [SpringValues<{
|
|
8
|
+
opacity: number;
|
|
9
|
+
}>, SpringRef<{
|
|
10
|
+
opacity: number;
|
|
11
|
+
}>, () => void];
|
|
12
|
+
export declare function useFadeOut(outTime: number, pause?: boolean, onFinished?: () => void): [SpringValues<{
|
|
13
|
+
opacity: number;
|
|
14
|
+
}>, SpringRef<{
|
|
15
|
+
opacity: number;
|
|
16
|
+
}>, () => void];
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useFadeInOut = useFadeInOut;
|
|
4
|
+
exports.useFadeIn = useFadeIn;
|
|
5
|
+
exports.useFadeOut = useFadeOut;
|
|
6
|
+
const spring_1 = require("../spring");
|
|
7
|
+
function useFadeInOut(inTime, _keepTime, _outTime, pause = false, onFinished) {
|
|
8
|
+
const [style, api] = (0, spring_1.useSpring)(() => ({
|
|
9
|
+
from: { opacity: 0 },
|
|
10
|
+
to: { opacity: 1 },
|
|
11
|
+
config: { duration: inTime },
|
|
12
|
+
pause,
|
|
13
|
+
onRest: (result) => {
|
|
14
|
+
if (result.value.opacity === 1) {
|
|
15
|
+
void api.start({ reverse: true, delay: 1500, config: { duration: 1000 } });
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
onFinished?.();
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
}), []);
|
|
22
|
+
const skip = () => {
|
|
23
|
+
api.stop();
|
|
24
|
+
api.set({ opacity: 0 });
|
|
25
|
+
onFinished?.();
|
|
26
|
+
};
|
|
27
|
+
return [style, api, skip];
|
|
28
|
+
}
|
|
29
|
+
function useFadeIn(inTime, pause = false, onFinished) {
|
|
30
|
+
const [style, api] = (0, spring_1.useSpring)(() => ({
|
|
31
|
+
from: { opacity: 0 },
|
|
32
|
+
to: { opacity: 1 },
|
|
33
|
+
config: { duration: inTime },
|
|
34
|
+
pause,
|
|
35
|
+
onRest: () => {
|
|
36
|
+
onFinished?.();
|
|
37
|
+
},
|
|
38
|
+
}), []);
|
|
39
|
+
const skip = () => {
|
|
40
|
+
api.stop();
|
|
41
|
+
api.set({ opacity: 1 });
|
|
42
|
+
onFinished?.();
|
|
43
|
+
};
|
|
44
|
+
return [style, api, skip];
|
|
45
|
+
}
|
|
46
|
+
function useFadeOut(outTime, pause = false, onFinished) {
|
|
47
|
+
const [style, api] = (0, spring_1.useSpring)(() => ({
|
|
48
|
+
from: { opacity: 1 },
|
|
49
|
+
to: { opacity: 0 },
|
|
50
|
+
config: { duration: outTime },
|
|
51
|
+
pause,
|
|
52
|
+
onRest: () => {
|
|
53
|
+
onFinished?.();
|
|
54
|
+
},
|
|
55
|
+
}), []);
|
|
56
|
+
const skip = () => {
|
|
57
|
+
api.stop();
|
|
58
|
+
api.set({ opacity: 1 });
|
|
59
|
+
onFinished?.();
|
|
60
|
+
};
|
|
61
|
+
return [style, api, skip];
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=useFadeInOut.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFadeInOut.js","sourceRoot":"","sources":["../../src/hooks/useFadeInOut.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Advance to the next line in the current story. */
|
|
2
|
+
export declare function nextLine(): any;
|
|
3
|
+
/** Set a timed wait, optionally skippable. */
|
|
4
|
+
export declare function setWaiting(time: number, skippable: boolean): void;
|
|
5
|
+
/**
|
|
6
|
+
* Custom hook to manage scenario lifecycle (load, start, terminate).
|
|
7
|
+
*
|
|
8
|
+
* @param {string[]} stories - An array of story names to load.
|
|
9
|
+
* @param {string} [startName] - The name of the story to start.
|
|
10
|
+
* @param {string} [entryName] - The entry point within the story to start from.
|
|
11
|
+
* @param {boolean} [goNextOnLoad=false] - Whether to automatically advance to the next line after loading.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useScenario(stories: string[], startName?: string, entryName?: string, goNextOnLoad?: boolean): void;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.nextLine = nextLine;
|
|
4
|
+
exports.setWaiting = setWaiting;
|
|
5
|
+
exports.useScenario = useScenario;
|
|
6
|
+
const moyu_1 = require("../moyu");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
/** Advance to the next line in the current story. */
|
|
9
|
+
function nextLine() {
|
|
10
|
+
return (0, moyu_1.executePluginCommand)('scenario', { subCommand: 'nextLine' });
|
|
11
|
+
}
|
|
12
|
+
/** Set a timed wait, optionally skippable. */
|
|
13
|
+
function setWaiting(time, skippable) {
|
|
14
|
+
(0, moyu_1.executePluginCommand)('scenario', { subCommand: 'setWaiting', time, skippable });
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Custom hook to manage scenario lifecycle (load, start, terminate).
|
|
18
|
+
*
|
|
19
|
+
* @param {string[]} stories - An array of story names to load.
|
|
20
|
+
* @param {string} [startName] - The name of the story to start.
|
|
21
|
+
* @param {string} [entryName] - The entry point within the story to start from.
|
|
22
|
+
* @param {boolean} [goNextOnLoad=false] - Whether to automatically advance to the next line after loading.
|
|
23
|
+
*/
|
|
24
|
+
function useScenario(stories, startName, entryName, goNextOnLoad = false) {
|
|
25
|
+
(0, react_1.useEffect)(() => {
|
|
26
|
+
const loadScenario = async () => {
|
|
27
|
+
for (const story of stories) {
|
|
28
|
+
if (!story)
|
|
29
|
+
continue;
|
|
30
|
+
try {
|
|
31
|
+
await (0, moyu_1.executePluginCommand)('scenario', {
|
|
32
|
+
subCommand: 'addStory',
|
|
33
|
+
name: story,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
console.error(`Failed to load scenario:`, error);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
void loadScenario().then(async () => {
|
|
42
|
+
try {
|
|
43
|
+
if (startName) {
|
|
44
|
+
await (0, moyu_1.executePluginCommand)('scenario', {
|
|
45
|
+
subCommand: 'startStory',
|
|
46
|
+
name: startName,
|
|
47
|
+
entry: entryName,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
if (goNextOnLoad) {
|
|
51
|
+
await nextLine();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error(`Failed to start scenario ${startName}:`, error);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
return () => {
|
|
59
|
+
(0, moyu_1.executePluginCommand)('scenario', {
|
|
60
|
+
subCommand: 'terminateStory',
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
}, [stories, startName, entryName, goNextOnLoad]);
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=useScenario.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScenario.js","sourceRoot":"","sources":["../../src/hooks/useScenario.ts"],"names":[],"mappings":";;AAIA,4BAEC;AAGD,gCAEC;AAUD,kCAwCC;AA7DD,kCAA+C;AAC/C,iCAAkC;AAElC,qDAAqD;AACrD,SAAgB,QAAQ;IACtB,OAAO,IAAA,2BAAoB,EAAC,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,8CAA8C;AAC9C,SAAgB,UAAU,CAAC,IAAY,EAAE,SAAkB;IACzD,IAAA,2BAAoB,EAAC,UAAU,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,OAAiB,EAAE,SAAkB,EAAE,SAAkB,EAAE,YAAY,GAAG,KAAK;IACzG,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;YAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,IAAI,CAAC;oBACH,MAAM,IAAA,2BAAoB,EAAC,UAAU,EAAE;wBACrC,UAAU,EAAE,UAAU;wBACtB,IAAI,EAAE,KAAK;qBACZ,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC;gBACH,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,IAAA,2BAAoB,EAAC,UAAU,EAAE;wBACrC,UAAU,EAAE,YAAY;wBACxB,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,SAAS;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,QAAQ,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,IAAA,2BAAoB,EAAC,UAAU,EAAE;gBAC/B,UAAU,EAAE,gBAAgB;aAC7B,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useSoundEffect = useSoundEffect;
|
|
4
|
+
const moyu_1 = require("../moyu");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
// avoid loading or releasing the same sound effect multiple times
|
|
7
|
+
const LOADED_SOUNDS = new Set();
|
|
8
|
+
/**
|
|
9
|
+
* Used to load a sound effect and provide a function to play it.
|
|
10
|
+
*/
|
|
11
|
+
function useSoundEffect(src) {
|
|
12
|
+
(0, react_1.useEffect)(() => {
|
|
13
|
+
// Load the sound effect when the component mounts
|
|
14
|
+
const loadSound = async () => {
|
|
15
|
+
try {
|
|
16
|
+
await (0, moyu_1.executePluginCommand)('audio', {
|
|
17
|
+
subCommand: 'load',
|
|
18
|
+
name: src,
|
|
19
|
+
src,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.error(`Failed to load sound effect ${src}:`, error);
|
|
24
|
+
}
|
|
25
|
+
LOADED_SOUNDS.add(src);
|
|
26
|
+
};
|
|
27
|
+
let needRelease = false;
|
|
28
|
+
if (!LOADED_SOUNDS.has(src)) {
|
|
29
|
+
void loadSound();
|
|
30
|
+
needRelease = true;
|
|
31
|
+
}
|
|
32
|
+
// Cleanup function to unload the sound effect when the component unmounts
|
|
33
|
+
return () => {
|
|
34
|
+
const releaseSound = () => {
|
|
35
|
+
try {
|
|
36
|
+
(0, moyu_1.executePluginCommand)('audio', {
|
|
37
|
+
subCommand: 'release',
|
|
38
|
+
name: src,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error(`Failed to release sound effect ${src}:`, error);
|
|
43
|
+
}
|
|
44
|
+
LOADED_SOUNDS.delete(src);
|
|
45
|
+
};
|
|
46
|
+
if (needRelease) {
|
|
47
|
+
releaseSound();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}, [src]);
|
|
51
|
+
// Function to play the sound effect
|
|
52
|
+
return (0, react_1.useCallback)(() => {
|
|
53
|
+
try {
|
|
54
|
+
(0, moyu_1.executePluginCommand)('audio', {
|
|
55
|
+
subCommand: 'play',
|
|
56
|
+
name: src,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
console.error(`Failed to play sound effect ${src}:`, error);
|
|
61
|
+
}
|
|
62
|
+
}, [src]);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=useSoundEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSoundEffect.js","sourceRoot":"","sources":["../../src/hooks/useSoundEffect.ts"],"names":[],"mappings":";;AASA,wCAqDC;AA9DD,kCAA+C;AAC/C,iCAA+C;AAE/C,kEAAkE;AAClE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;AAExC;;GAEG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,kDAAkD;QAClD,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAA,2BAAoB,EAAC,OAAO,EAAE;oBAClC,UAAU,EAAE,MAAM;oBAClB,IAAI,EAAE,GAAG;oBACT,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,SAAS,EAAE,CAAC;YACjB,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,0EAA0E;QAC1E,OAAO,GAAG,EAAE;YACV,MAAM,YAAY,GAAG,GAAG,EAAE;gBACxB,IAAI,CAAC;oBACH,IAAA,2BAAoB,EAAC,OAAO,EAAE;wBAC5B,UAAU,EAAE,SAAS;wBACrB,IAAI,EAAE,GAAG;qBACV,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;gBACjE,CAAC;gBACD,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,oCAAoC;IACpC,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE;QACtB,IAAI,CAAC;YACH,IAAA,2BAAoB,EAAC,OAAO,EAAE;gBAC5B,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE,GAAG;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ZodType } from 'zod';
|
|
2
|
+
import { TextLine } from '../events';
|
|
3
|
+
/** Flow control interface passed to every handler. */
|
|
4
|
+
export interface GameControl {
|
|
5
|
+
/** Timed wait — blocks auto-advance. Engine fires scenariowaitingcancelled on timeout or skip. */
|
|
6
|
+
setWaiting(time: number, skippable: boolean): void;
|
|
7
|
+
/** Indefinite hold — blocks auto-advance until user action. */
|
|
8
|
+
hold(): void;
|
|
9
|
+
/** Manually advance (rarely needed, e.g. `!` tailing). */
|
|
10
|
+
nextLine(): void;
|
|
11
|
+
/** Mark this dispatch cycle as unskippable. If skipping, hold() will stop skip instead of advancing. */
|
|
12
|
+
unskippable(): void;
|
|
13
|
+
}
|
|
14
|
+
export interface ScenarioCommandBaseType {
|
|
15
|
+
command: string;
|
|
16
|
+
[key: string]: unknown;
|
|
17
|
+
}
|
|
18
|
+
/** Command handler function. */
|
|
19
|
+
export type CommandHandler<T extends ScenarioCommandBaseType = ScenarioCommandBaseType> = (cmd: T, control: GameControl) => void;
|
|
20
|
+
/** Text line handler function. */
|
|
21
|
+
export type TextLineHandler = (text: TextLine, control: GameControl) => void;
|
|
22
|
+
/** Reactive skip state. Actors read via useIsSkipping(). */
|
|
23
|
+
export declare const skipState: {
|
|
24
|
+
active: boolean;
|
|
25
|
+
};
|
|
26
|
+
/** Reactively returns whether skip (Ctrl fast-forward) is active. */
|
|
27
|
+
export declare function useIsSkipping(): boolean;
|
|
28
|
+
export declare function createStage(): {
|
|
29
|
+
registerCommandSchema: <T extends ZodType>(schema: T) => () => void;
|
|
30
|
+
registerCommand: <T extends ScenarioCommandBaseType>(commands: string | string[], handler: CommandHandler<T>) => () => void;
|
|
31
|
+
registerTextLine: (handler: TextLineHandler) => () => void;
|
|
32
|
+
addSkipCallback: (cb: () => void) => () => void;
|
|
33
|
+
addInterruptCallback: (cb: () => boolean) => () => void;
|
|
34
|
+
addSkipBlocker: (cb: () => boolean) => () => void;
|
|
35
|
+
addBeforeHandleCommandCallback: (cb: () => void) => () => void;
|
|
36
|
+
tryInterrupt: () => boolean;
|
|
37
|
+
startSkip: () => void;
|
|
38
|
+
stopSkip: () => void;
|
|
39
|
+
isSkipping: () => boolean;
|
|
40
|
+
bindEvents: () => () => void;
|
|
41
|
+
};
|
|
42
|
+
export type StageInstance = ReturnType<typeof createStage>;
|
|
43
|
+
/** Access the stage instance from within StageContextProvider. */
|
|
44
|
+
export declare function useStageContext(): StageInstance;
|
|
45
|
+
export declare function StageContextProvider({ stage, children }: {
|
|
46
|
+
stage: StageInstance;
|
|
47
|
+
children: React.ReactNode;
|
|
48
|
+
}): import("react").FunctionComponentElement<import("react").ProviderProps<{
|
|
49
|
+
registerCommandSchema: <T extends ZodType>(schema: T) => () => void;
|
|
50
|
+
registerCommand: <T extends ScenarioCommandBaseType>(commands: string | string[], handler: CommandHandler<T>) => () => void;
|
|
51
|
+
registerTextLine: (handler: TextLineHandler) => () => void;
|
|
52
|
+
addSkipCallback: (cb: () => void) => () => void;
|
|
53
|
+
addInterruptCallback: (cb: () => boolean) => () => void;
|
|
54
|
+
addSkipBlocker: (cb: () => boolean) => () => void;
|
|
55
|
+
addBeforeHandleCommandCallback: (cb: () => void) => () => void;
|
|
56
|
+
tryInterrupt: () => boolean;
|
|
57
|
+
startSkip: () => void;
|
|
58
|
+
stopSkip: () => void;
|
|
59
|
+
isSkipping: () => boolean;
|
|
60
|
+
bindEvents: () => () => void;
|
|
61
|
+
} | null>>;
|
|
62
|
+
/**
|
|
63
|
+
* Register a skip callback that fires when scenariowaitingcancelled is received.
|
|
64
|
+
* Automatically removed on unmount.
|
|
65
|
+
*/
|
|
66
|
+
export declare function useSkipCallback(callback: () => void): void;
|
|
67
|
+
/**
|
|
68
|
+
* Register an interrupt callback for user click handling.
|
|
69
|
+
* Return `true` from the callback to consume the click.
|
|
70
|
+
* Automatically removed on unmount.
|
|
71
|
+
*/
|
|
72
|
+
export declare function useInterruptCallback(callback: () => boolean): void;
|
|
73
|
+
/**
|
|
74
|
+
* Register a skip blocker callback. Return `true` to block skipping.
|
|
75
|
+
* When any blocker is active, skip mode cannot start or will be stopped.
|
|
76
|
+
* Automatically removed on unmount.
|
|
77
|
+
*
|
|
78
|
+
* NOTE: `callback` must be a stable reference (wrap with `useCallback`).
|
|
79
|
+
*/
|
|
80
|
+
export declare function useSkipBlocker(callback: () => boolean): void;
|
|
81
|
+
/**
|
|
82
|
+
* Register a callback to be invoked before handling each command.
|
|
83
|
+
* Automatically removed on unmount.
|
|
84
|
+
*/
|
|
85
|
+
export declare function useBeforeHandleCommandCallback(callback: () => void): void;
|