@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
text/typescript
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 };