narraleaf-react
Version:
A React visual novel player framework
54 lines (53 loc) • 1.64 kB
TypeScript
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;
};