UNPKG

@drincs/pixi-vn

Version:

Pixi'VN is a npm package that provides various features for creating visual novels.

123 lines (120 loc) 5.75 kB
import { ChoiceMenuOptionsType } from '../types/ChoiceMenuOptionsType.js'; import { StorageElementType } from '../types/StorageElementType.js'; import { InputInfo } from '../types/InputInfo.js'; import { StepLabelPropsType, StepLabelResultType, StepLabelType } from '../types/StepLabelType.js'; import ChoiceMenuOption, { ChoiceMenuOptionClose } from '../classes/ChoiceMenuOption.js'; import Dialogue from '../classes/Dialogue.js'; import Label from '../classes/Label.js'; import LabelAbstract from '../classes/LabelAbstract.js'; import CharacterInterface from '../interface/CharacterInterface.js'; import ExportedStep from '../interface/export/ExportedStep.js'; import HistoryStep, { HistoryStepData } from '../interface/HistoryStep.js'; import NarrationManagerInterface from '../interface/managers/NarrationManagerInterface.js'; import NarrativeHistory from '../interface/NarrativeHistory.js'; import OpenedLabel from '../interface/OpenedLabel.js'; import { LabelIdType } from '../types/LabelIdType.js'; import '@drincs/pixi-vn'; import '../interface/LabelProps.js'; import '../types/CloseType.js'; import '../types/LabelRunModeType.js'; import 'deep-diff'; import 'microdiff'; import '../interface/export/ExportedCanvas.js'; import '../types/PauseTickerType.js'; import '../interface/canvas/memory/CanvasBaseItemMemory.js'; import '../interface/canvas/memory/ContainerMemory.js'; import 'pixi.js'; import '../types/ContainerChild.js'; import '../classes/canvas/CanvasBaseItem.js'; import '../interface/TickerHistory.js'; import '../types/TickerIdType.js'; import '../interface/TickerArgs.js'; import '../interface/TickersSequence.js'; import '../types/PauseType.js'; import '../types/RepeatType.js'; import '../interface/export/ExportedSounds.js'; import '../interface/SoundOptions.js'; import '@pixi/sound'; import '../types/SoundFilterMemory.js'; import '../interface/export/ExportedStorage.js'; import '../types/HistoryChoiceMenuOption.js'; /** * This class is a class that manages the steps and labels of the game. */ declare class NarrationManager implements NarrationManagerInterface { private readonly getCurrentStepData; private readonly restoreFromHistoryStep; private readonly forceCompletionOfTicker; constructor(getCurrentStepData: () => HistoryStepData, restoreFromHistoryStep: (restoredStep: HistoryStepData, navigate: (path: string) => void) => Promise<void>, forceCompletionOfTicker: () => void); get stepsHistory(): HistoryStep<Dialogue<CharacterInterface>>[]; get currentStepTimesCounter(): number; set currentStepTimesCounter(_: 0); getRandomNumber(min: number, max: number, options?: { onceOnly?: boolean; }): number | undefined; get lastStepIndex(): number; get openedLabels(): OpenedLabel[]; get currentLabel(): Label | undefined; /** * Add a label to the history. * @param label The label to add to the history. */ private addStepHistory; closeCurrentLabel(): void; closeAllLabels(): void; get narrativeHistory(): NarrativeHistory[]; removeNarrativeHistory(itemsNumber?: number): void; isLabelAlreadyCompleted<Label extends LabelAbstract<any>>(label: LabelIdType | Label): boolean; private get alreadyCurrentStepMadeChoicesObj(); get alreadyCurrentStepMadeChoices(): number[] | undefined; get isCurrentStepAlreadyOpened(): boolean; getTimesLabelOpened(label: LabelIdType): number; getTimesChoiceMade(index: number): number; addCurrentStepToHistory(): void; private getCanGoNext; get canGoNext(): boolean; goNext(props: StepLabelPropsType, options?: { choiseMade?: number; runNow?: boolean; }): Promise<StepLabelResultType>; /** * Execute the current step and add it to the history. * @param props The props to pass to the step. * @param options The options. * @returns StepLabelResultType or undefined. */ private runCurrentStep; callLabel<T extends {} = {}>(label: Label<T> | LabelIdType, props: StepLabelPropsType<T>): Promise<StepLabelResultType>; jumpLabel<T extends {}>(label: Label<T> | LabelIdType, props: StepLabelPropsType<T>): Promise<StepLabelResultType>; selectChoice<T extends {}>(item: ChoiceMenuOptionClose | ChoiceMenuOption<T>, props: StepLabelPropsType<T>): Promise<StepLabelResultType>; closeChoiceMenu<T extends {} = {}>(choice: ChoiceMenuOptionClose<T>, props: StepLabelPropsType<T>): Promise<StepLabelResultType>; /** Old Step Methods */ get stepLimitSaved(): number; set stepLimitSaved(limit: number); goBack(navigate: (path: string) => void, steps?: number): Promise<void>; get canGoBack(): boolean; blockGoBack(): Promise<void>; onGameEnd: StepLabelType | undefined; onStepError: ((error: any, props: StepLabelPropsType) => void) | undefined; get dialogue(): Dialogue | undefined; set dialogue(props: { character: string | CharacterInterface; text: string | string[]; } | string | string[] | Dialogue | undefined); get choiceMenuOptions(): ChoiceMenuOptionsType<any> | undefined; set choiceMenuOptions(options: ChoiceMenuOptionsType<any> | undefined); get dialogGlue(): boolean; set dialogGlue(value: boolean); get inputValue(): StorageElementType; set inputValue(value: StorageElementType); get isRequiredInput(): boolean; get inputType(): string | undefined; requestInput(info: Omit<InputInfo, "isRequired">, defaultValue?: StorageElementType): void; removeInputRequest(): void; clear(): void; exportJson(): string; export(): ExportedStep; importJson(dataString: string): Promise<void>; import(data: object): Promise<void>; } export { NarrationManager as default };