Hooking into the Save State

From Beerplop
Revision as of 12:10, 19 July 2019 by Wol-soft (talk | contribs)

To create an entry in the save state a GamePersistor object is required. Using the method registerModule($key, $saveCallback, $loadCallback) of the save state a new entry can be added.

The $key must be a unique key for the module. The $saveCallback must return a serializable value. The $loadCallback will either get the deserialized value which was stored before or won't be called if no entry is present for the module in the current save state.

An example integration may look like:

1   (new Beerplop.GamePersistor()).registerModule(
2     'BeerFactory__Trader',
3     () => return this.state,
4     () => this.state = $.extend(true, {}, this.initialState, loadedState),
5   );