UNPKG

@drincs/pixi-vn

Version:

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

97 lines (94 loc) 3.32 kB
import ISaveData from '../interface/ISaveData.mjs'; import '../interface/export/ExportedCanvas.mjs'; import '../interface/canvas/ICanvasBaseMemory.mjs'; import '../interface/ITickersSteps.mjs'; import 'pixi.js'; import '../TickerBase-DKYzbzro.mjs'; import '../types/StorageElementType.mjs'; import '../types/TickerIdType.mjs'; import '../types/PauseType.mjs'; import '../types/RepeatType.mjs'; import '../interface/TickerHistory.mjs'; import '../interface/export/ExportedStep.mjs'; import '../interface/IHistoryStep.mjs'; import 'deep-diff'; import '../classes/ChoiceMenuOption.mjs'; import '../types/LabelIdType.mjs'; import '../classes/Label.mjs'; import '../types/StepLabelType.mjs'; import '@drincs/pixi-vn/dist/override'; import '../classes/LabelAbstract.mjs'; import '../types/StepHistoryDataType.mjs'; import '../interface/LabelProps.mjs'; import '../types/CloseType.mjs'; import '../types/LabelRunModeType.mjs'; import '../interface/IOpenedLabel.mjs'; import '../interface/export/ExportedStorage.mjs'; import '../classes/DialogueBaseModel.mjs'; import '../classes/CharacterBaseModel.mjs'; import '../interface/CharacterBaseModelProps.mjs'; import '../classes/StoredClassModel.mjs'; /** * Get the save data * @returns The save data */ declare function getSaveData(): ISaveData; /** * Get the save data as a JSON string * @returns The save data as a JSON string * @example * ```typescript * export function saveGame() { * const jsonString = getSaveJson() * const blob = new Blob([jsonString], { type: "application/json" }); * const url = URL.createObjectURL(blob); * const a = document.createElement('a'); * a.href = url; * a.download = "save.json"; * a.click(); * } * ``` */ declare function getSaveJson(): string; /** * Load the save data * @param data The save data * @param navigate The function to navigate to a path */ declare function loadSaveData(data: ISaveData, navigate: (path: string) => void): Promise<void>; /** * Load the save data from a JSON string * @param dataString The save data as a JSON string * @param navigate The function to navigate to a path * @example * ```typescript * export function loadGameSave(navigate: (path: string) => void, afterLoad?: () => void) { * // load the save data from a JSON file * const input = document.createElement('input'); * input.type = 'file'; * input.accept = 'application/json'; * input.onchange = (e) => { * const file = (e.target as HTMLInputElement).files?.[0]; * if (file) { * const reader = new FileReader(); * reader.onload = (e) => { * const jsonString = e.target?.result as string; * // load the save data from the JSON string * loadSaveJson(jsonString, navigate); * afterLoad && afterLoad(); * }; * reader.readAsText(file); * } * }; * input.click(); * } * ``` */ declare function loadSaveJson(dataString: string, navigate: (path: string) => void): Promise<void>; /** * Convert a JSON string to a save data * @param json The JSON string * @returns The save data */ declare function jsonToSaveData(json: string): ISaveData; export { getSaveData, getSaveJson, jsonToSaveData, loadSaveData, loadSaveJson };