UNPKG

narraleaf-react

Version:

A React visual novel player framework

54 lines (53 loc) 1.64 kB
import type { Character } from "../../../nlcore/elements/character"; import type { GameState } from "../../gameState"; import { Sentence } from "../../../nlcore/elements/character/sentence"; import { Word } from "../../../nlcore/elements/character/word"; import { Pausing } from "../../../nlcore/elements/character/pause"; import React from "react"; export interface SayElementProps { action: { sentence: Sentence | null; character: Character | null; words: Word<Pausing | string>[] | null; id?: string; }; /** * @deprecated * Callback function to be called when the player triggers the next action */ onClick?: (skiped?: boolean) => void; onFinished?: (skiped?: boolean) => void; useTypeEffect?: boolean; gameState: GameState; } export interface IDialogProps { } export type DialogProps = { children: React.ReactNode; } & React.HTMLAttributes<HTMLDivElement>; export type DialogElementProps = { children?: never; } & React.HTMLAttributes<HTMLDivElement>; export interface IDialogElementProps extends React.HTMLAttributes<HTMLDivElement> { children?: never; } export declare enum DialogStateType { Pending = "pending", Paused = "paused", Ended = "ended" } export interface DialogContext { gameState: GameState; action: { sentence: Sentence | null; character: Character | null; words: Word<Pausing | string>[] | null; }; state: DialogStateType; } export type DialogAction = { sentence: Sentence | null; character: Character | null; words: Word<Pausing | string>[] | null; id?: string; };