narraleaf-react 0.0.1-beta.1

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 (61) hide show
  1. package/dist/game/nlcore/action/action.d.ts +19 -0
  2. package/dist/game/nlcore/action/actionTypes.d.ts +103 -0
  3. package/dist/game/nlcore/action/actionable.d.ts +19 -0
  4. package/dist/game/nlcore/action/actions.d.ts +126 -0
  5. package/dist/game/nlcore/action/constructable.d.ts +40 -0
  6. package/dist/game/nlcore/action/logicAction.d.ts +18 -0
  7. package/dist/game/nlcore/action/tree/actionTree.d.ts +62 -0
  8. package/dist/game/nlcore/common/Utils.d.ts +33 -0
  9. package/dist/game/nlcore/common/core.d.ts +8 -0
  10. package/dist/game/nlcore/common/elements.d.ts +13 -0
  11. package/dist/game/nlcore/common/game.d.ts +3 -0
  12. package/dist/game/nlcore/common/player.d.ts +4 -0
  13. package/dist/game/nlcore/common/position.d.ts +2 -0
  14. package/dist/game/nlcore/common/transition.d.ts +6 -0
  15. package/dist/game/nlcore/common/types.d.ts +2 -0
  16. package/dist/game/nlcore/elements/condition.d.ts +51 -0
  17. package/dist/game/nlcore/elements/control.d.ts +38 -0
  18. package/dist/game/nlcore/elements/image.d.ts +132 -0
  19. package/dist/game/nlcore/elements/menu.d.ts +44 -0
  20. package/dist/game/nlcore/elements/scene.d.ts +113 -0
  21. package/dist/game/nlcore/elements/script.d.ts +23 -0
  22. package/dist/game/nlcore/elements/sound.d.ts +58 -0
  23. package/dist/game/nlcore/elements/srcManager.d.ts +31 -0
  24. package/dist/game/nlcore/elements/story.d.ts +48 -0
  25. package/dist/game/nlcore/elements/text.d.ts +67 -0
  26. package/dist/game/nlcore/elements/transform/position.d.ts +110 -0
  27. package/dist/game/nlcore/elements/transform/transform.d.ts +97 -0
  28. package/dist/game/nlcore/elements/transform/type.d.ts +49 -0
  29. package/dist/game/nlcore/elements/transition/base.d.ts +18 -0
  30. package/dist/game/nlcore/elements/transition/dissolve.d.ts +34 -0
  31. package/dist/game/nlcore/elements/transition/fade.d.ts +28 -0
  32. package/dist/game/nlcore/elements/transition/fadeIn.d.ts +35 -0
  33. package/dist/game/nlcore/elements/transition/type.d.ts +24 -0
  34. package/dist/game/nlcore/game.d.ts +83 -0
  35. package/dist/game/nlcore/store/storable.d.ts +44 -0
  36. package/dist/game/nlcore/store/type.d.ts +21 -0
  37. package/dist/game/nlcore/types.d.ts +47 -0
  38. package/dist/game/player/elements/Player.d.ts +13 -0
  39. package/dist/game/player/elements/image/Image.d.ts +8 -0
  40. package/dist/game/player/elements/menu/Menu.d.ts +8 -0
  41. package/dist/game/player/elements/menu/Sentence.d.ts +5 -0
  42. package/dist/game/player/elements/preload/Preload.d.ts +6 -0
  43. package/dist/game/player/elements/say/Say.d.ts +10 -0
  44. package/dist/game/player/elements/say/TypingEffect.d.ts +8 -0
  45. package/dist/game/player/elements/scene/Background.d.ts +5 -0
  46. package/dist/game/player/elements/scene/BackgroundTransition.d.ts +8 -0
  47. package/dist/game/player/elements/scene/Scene.d.ts +9 -0
  48. package/dist/game/player/gameState.d.ts +102 -0
  49. package/dist/game/player/lib/Preloaded.d.ts +47 -0
  50. package/dist/game/player/lib/isolated.d.ts +6 -0
  51. package/dist/game/player/lib/main.d.ts +5 -0
  52. package/dist/game/player/provider/game-state.d.ts +12 -0
  53. package/dist/game/player/provider/preloaded.d.ts +10 -0
  54. package/dist/game/player/provider/providers.d.ts +5 -0
  55. package/dist/game/player/provider/ratio.d.ts +23 -0
  56. package/dist/index.d.ts +2 -0
  57. package/dist/index.js +21093 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/util/data.d.ts +65 -0
  60. package/dist/util/singleton.d.ts +5 -0
  61. package/package.json +78 -0
@@ -0,0 +1,102 @@
1
+ import { CalledActionResult } from "@core/gameTypes";
2
+ import { EventDispatcher } from "../../util/data";
3
+ import { Character, Sentence } from "../nlcore/elements/text";
4
+ import { Choice, MenuData } from "../nlcore/elements/menu";
5
+ import { Image, ImageEventTypes } from "../nlcore/elements/image";
6
+ import { Scene } from "../nlcore/elements/scene";
7
+ import { Sound } from "../nlcore/elements/sound";
8
+ import * as Howler from "howler";
9
+ import { SrcManager } from "../nlcore/elements/srcManager";
10
+ import { LogicAction } from "../nlcore/action/logicAction";
11
+ import { Storable } from "../nlcore/store/storable";
12
+ import { Game } from "../nlcore/game";
13
+ type Clickable<T, U = undefined> = {
14
+ action: T;
15
+ onClick: U extends undefined ? () => void : (arg0: U) => void;
16
+ };
17
+ type TextElement = {
18
+ character: Character | null;
19
+ sentence: Sentence;
20
+ id: string;
21
+ };
22
+ type MenuElement = {
23
+ prompt: Sentence;
24
+ choices: Choice[];
25
+ };
26
+ type PlayerStateElement = {
27
+ texts: Clickable<TextElement>[];
28
+ menus: Clickable<MenuElement, Choice>[];
29
+ images: Image[];
30
+ };
31
+ export type PlayerState = {
32
+ sounds: Sound[];
33
+ srcManagers: SrcManager[];
34
+ elements: {
35
+ scene: Scene;
36
+ ele: PlayerStateElement;
37
+ }[];
38
+ };
39
+ export type PlayerStateData = {
40
+ elements: {
41
+ scene: string;
42
+ ele: {
43
+ images: string[];
44
+ };
45
+ }[];
46
+ };
47
+ export type PlayerAction = CalledActionResult;
48
+ interface StageUtils {
49
+ forceUpdate: () => void;
50
+ next: () => void;
51
+ dispatch: (action: PlayerAction) => void;
52
+ }
53
+ type GameStateEvents = {
54
+ "event:state.ready": [];
55
+ };
56
+ export declare class GameState {
57
+ static EventTypes: {
58
+ [K in keyof GameStateEvents]: K;
59
+ };
60
+ state: PlayerState;
61
+ currentHandling: CalledActionResult | null;
62
+ stage: StageUtils;
63
+ game: Game;
64
+ readonly events: EventDispatcher<GameStateEvents>;
65
+ constructor(game: Game, stage: StageUtils);
66
+ findElementByScene(scene: Scene): {
67
+ scene: Scene;
68
+ ele: PlayerStateElement;
69
+ } | null;
70
+ findElementByImage(image: Image): {
71
+ scene: Scene;
72
+ ele: PlayerStateElement;
73
+ } | null;
74
+ addScene(scene: Scene): this;
75
+ popScene(): this;
76
+ removeScene(scene: Scene): this;
77
+ getSceneElements(): {
78
+ scene: Scene;
79
+ ele: PlayerStateElement;
80
+ }[];
81
+ getLastScene(): Scene | null;
82
+ sceneExists(scene?: Scene): boolean;
83
+ handle(action: PlayerAction): this;
84
+ createText(id: string, sentence: Sentence, afterClick?: () => void, scene?: Scene): void;
85
+ createMenu(menu: MenuData, afterChoose?: (choice: Choice) => void, scene?: Scene): void;
86
+ createImage(image: Image, scene?: Scene): this;
87
+ disposeImage(image: Image, scene?: Scene): this;
88
+ playSound(howl: Howler.Howl, onEnd?: () => void): any;
89
+ getHowl(): typeof Howler.Howl;
90
+ animateImage<T extends keyof ImageEventTypes>(type: T, target: Image, args: ImageEventTypes[T], onEnd: () => void): undefined;
91
+ registerSrcManager(srcManager: SrcManager): this;
92
+ offSrcManager(srcManager: SrcManager): this;
93
+ getStorable(): Storable;
94
+ toData(): PlayerStateData;
95
+ loadData(data: PlayerStateData, actions: LogicAction.Actions[]): void;
96
+ private getElementMap;
97
+ private removeElements;
98
+ private _getLastSceneIfNot;
99
+ private anyEvent;
100
+ private createWaitableAction;
101
+ }
102
+ export {};
@@ -0,0 +1,47 @@
1
+ import { Sound } from "../../nlcore/elements/sound";
2
+ import { Src } from "../../nlcore/elements/srcManager";
3
+ import { EventDispatcher } from "../../../util/data";
4
+ import { Image } from "../../nlcore/elements/image";
5
+ export type PreloadedSrcTypes = "image" | "audio" | "video";
6
+ export type PreloadedSrc<T extends PreloadedSrcTypes = any> = ({
7
+ type: "image";
8
+ src: Image;
9
+ } | {
10
+ type: "audio";
11
+ src: Sound;
12
+ } | {
13
+ type: "video";
14
+ src: string;
15
+ }) & (T extends undefined ? {} : ({
16
+ type: T;
17
+ } & T extends "image" ? {
18
+ src: Image;
19
+ } : T extends "audio" ? {
20
+ src: Sound;
21
+ } : T extends "video" ? {
22
+ src: string;
23
+ } : {}));
24
+ export type PreloadedEventTypes = {
25
+ "event:preloaded.add": [PreloadedSrc | string];
26
+ "event:preloaded.remove": [PreloadedSrc | string];
27
+ "event:preloaded.change": [];
28
+ "event:preloaded.mount": [];
29
+ "event:preloaded.ready": [];
30
+ };
31
+ export declare class Preloaded {
32
+ static EventTypes: {
33
+ [K in keyof PreloadedEventTypes]: K;
34
+ };
35
+ preloaded: PreloadedSrc[];
36
+ events: EventDispatcher<PreloadedEventTypes>;
37
+ add<T extends PreloadedSrcTypes = PreloadedSrcTypes>(src: PreloadedSrc<T>): this;
38
+ get<T extends PreloadedSrcTypes = any>(src: string): PreloadedSrc<T> | undefined;
39
+ has(src: string): boolean;
40
+ has(src: string[]): boolean;
41
+ remove(src: string): this;
42
+ remove(src: PreloadedSrc): this;
43
+ remove(src: string[]): this;
44
+ remove(src: PreloadedSrc[]): this;
45
+ clear(): this;
46
+ getSrc(src: Src | string): string;
47
+ }
@@ -0,0 +1,6 @@
1
+ import type { ReactNode } from "react";
2
+ import React from "react";
3
+ export default function Isolated({ children, className }: Readonly<{
4
+ children: ReactNode;
5
+ className?: string;
6
+ }>): React.JSX.Element;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export default function Main({ children, className }: {
3
+ children: React.ReactNode;
4
+ className?: string;
5
+ }): React.JSX.Element;
@@ -0,0 +1,12 @@
1
+ import React, { ReactNode } from "react";
2
+ import { Game } from "../../nlcore/game";
3
+ type GameContextType = {
4
+ game: Game;
5
+ setGame: (update: (prevGame: Game) => Game) => void;
6
+ };
7
+ export declare function GameProvider({ children, game }: {
8
+ children?: ReactNode;
9
+ game?: Game;
10
+ }): React.JSX.Element;
11
+ export declare function useGame(): GameContextType;
12
+ export {};
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { Preloaded } from "../lib/Preloaded";
3
+ type PreloadedContextType = {
4
+ preloaded: Preloaded;
5
+ };
6
+ export declare function PreloadedProvider({ children }: {
7
+ children: React.ReactNode;
8
+ }): React.JSX.Element;
9
+ export declare function usePreloaded(): PreloadedContextType;
10
+ export {};
@@ -0,0 +1,5 @@
1
+ import "client-only";
2
+ import React from "react";
3
+ export default function GameProviders({ children }: Readonly<{
4
+ children?: React.ReactNode;
5
+ }>): React.JSX.Element;
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ type Ratio = {
3
+ w: number;
4
+ h: number;
5
+ updateStyle: () => void;
6
+ style: React.CSSProperties;
7
+ s: {
8
+ style: React.CSSProperties;
9
+ };
10
+ min: {
11
+ w: number;
12
+ h: number;
13
+ };
14
+ };
15
+ type ThemeContextType = {
16
+ ratio: Ratio;
17
+ setRatio: (ratio: Ratio) => void;
18
+ };
19
+ export declare function AspectRatioProvider({ children }: {
20
+ children: React.ReactNode;
21
+ }): React.JSX.Element;
22
+ export declare function useAspectRatio(): ThemeContextType;
23
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./game/nlcore/common/core";
2
+ export * from "./game/nlcore/common/player";