Difference between revisions of "Hooking into the Save State"

From Beerplop
(Created page with "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...")
 
m
Line 3: Line 3:
 
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.
 
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:
+
An example integration may look like:<syntaxhighlight lang="javascript" line="1">
 
+
  (new Beerplop.GamePersistor()).registerModule(
<br />
+
    'BeerFactory__Trader',
 +
    () => return this.state,
 +
    () => this.state = $.extend(true, {}, this.initialState, loadedState),
 +
  );
 +
</syntaxhighlight><br />

Revision as of 12:10, 19 July 2019

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   );