phaser3-rex-plugins
Version:
89 lines (81 loc) • 2.44 kB
TypeScript
export default DataManager;
/**
* Data manager with versioned snapshot, commit, and restore support.
*/
declare class DataManager extends Phaser.Data.DataManager {
/**
* Create a restorable data manager.
*
* @param parent - Parent object that owns this data manager.
* @param eventEmitter - Optional event emitter used by this data manager.
*/
constructor(
parent: object,
eventEmitter?: Phaser.Events.EventEmitter
);
/**
* Create a restorable data manager with initialization config.
*
* @param parent - Parent object that owns this data manager.
* @param eventEmitter - Optional event emitter used by this data manager.
* @param config - Optional initial configuration object.
*/
constructor(
parent: object,
eventEmitter?: Phaser.Events.EventEmitter,
config?: object
);
/**
* Commit current data as a new version snapshot.
*
* @param alias - Optional alias name for this committed version.
* @returns This data manager instance.
*/
commit(alias?: string): this;
/**
* Restore data from a committed version snapshot.
*
* @param version - Version number or alias to restore.
* @param restoreFromVersion0 - Set to true to replay from the initial version.
* @returns This data manager instance.
*/
restore(
version?: string | number,
restoreFromVersion0?: boolean
): this;
/**
* Set current working version.
*
* @param value - Version number or alias.
*/
set version(value: string | number);
/**
* Get current working version number.
*/
get version(): number;
/**
* Latest committed version number.
*/
readonly lastVersion: number;
/**
* Alias of the current working version.
*/
readonly versionAlias: string;
/**
* List of all registered version aliases.
*/
readonly versionAliases: string[];
/**
* Serialize current state and version data to JSON.
*
* @returns Serialized plain object.
*/
toJSON(): object;
/**
* Reset this manager from a serialized object.
*
* @param o - Serialized object data.
* @returns This data manager instance.
*/
resetFromJSON(o?: object): this;
}