top of page

ProSaver

A static proxy for the Saver, Initializer and LateInitializer classes. Using this class is the easiest way to manage scene initialization and to save and load your game.

Static Events

WhenDecodingFinished

Called when the game has finished decoding.

WhenDecodingStarts

Called when the game starts decoding.

WhenEncodingFinished

Called when the game has completed encoding.

WhenEncodingStarts

Called when the game starts encoding.

WhenInitializationFinished

Called when initialization finishes.

WhenLateInitializationFinished

Called when late initialization finishes.

WhenLoadFinished

Called when the game has finished loading.

Called when the game starts loading.

WhenSaveFinished

Called when the game has completed a save.

WhenSaveStarts

Called when the game starts saving.

Static Properties

CoroutineHost

This is the MonoBehaviour that all ProSaver coroutines run on. Coroutines are used in initialization, late initialization, saving and loading.

EncodedData

When data is encoded it can be found here.

The type of encoding used when encoding.

Encrypt

Set true if you wish to encrypt data when saving or encoding, or if you need to decrypt data when loading.

EncryptedAndEncondedData

Return encoded and encrypted data.

InitializationDeclared

Is true if scene initialization has been declared at any point since the scene has loaded.

InitializationPercentage

The amount of the initialization that has been completed. Is 0 if initialization is not occurring.

InitializationThreshold

The number of IInitializables that have Initialize() called in one Update loop of the initialization process.

LateInitializationDeclared

Returns true if late initialization is declared. Note, that being "declared" is not the same as running. Late initialization starts on the frame in which loading data from drive or server in completed, not at the moment it is declared.

LateInitializationPercentage

Returns the percentage of the late initialization that has been completed and returns 0 when late initialization is not occurring.

LateIntializationThreshold

This returns the amount of ILateInitializables that have their function LateInitialization() called in a single Update loop during late initialization. The greater the number the faster the late initialization but the greater the tendency for the game to freeze during late initialization.

LoadAttempted

True if a load has been attempted since the game booted.

LoadSuccessful

True if data has been loaded since the game started.

LoadUpdateThreshold

The number of things that are loaded within 1 update loop. The greater the number the faster the load but the greater the tendency for the game to freeze during loading.

SavePather

Contains the paths to where the game and encryption keys are saved. Additionally, you can change the save file number, to add or alter game save slots.

Saver

The class that manages saving and loading your game.

SaveUpdateThreshold

The number of things that are saved within 1 update loop. The greater the number the faster the save but the greater the tendency for the game to freeze during saving.

SceneReadyPercentage

The percentage of the scene's preparation that is completed.

ScenePrepFinish

Returns true if initialization, late initialization and complete scene prep have finished, false otherwise

Changing this changes the save file's format.

Static Methods

AddToCompleteScenePrep

Add an action to the collection of actions invoked on CompleteScenePrep().

AddToInitialization

Add an IInitializable to initialization.

AddToLateInitialization

Remove an IInitializable from initialization.

Pass an ISaveable through this class to add it to the list of things to be saved.

ClearSaveData

Clears the data from RAM, but does not wipe data from drive.

DeclareInitialization

Starts the initialization process.

DecodeData

Decodes game data and applies it to game state.

DeleteGameData

Deletes the game data.

EncodeGame

Encodes the games data. When the process is finished the data can be retrieved in EncodedData or, if encrypted, in EncryptedAndEncodedData.

FinishScenePrepNow

Instantly ends scene preparation, skipping late initialization.

InitializationIncludes

Checks if an IInitializable has been added to initialization.

LateInitializationIncludes

Checks if an ILateInitializable has been added to late initialization.

LoadGame

Call this function to start a game load.

RemoveFromComplete
ScenePrep

Removes an object and any action it is supposed to invoke on CompleteScenePrep from having that object's action invoked on CompleteScenePrep.

RemoveFromInitialization

Remove an IInitializable from initialization.

RemoveFromLateInitialization

Remove an ILateInitializable from the late initialization.

RemoveFromSave

Remove an ISaveable from the list of things to be saved.

SaveGame

Call this function to start a game save.

Checks if the ISaveable is already added to save.

SkipLateInitialization
AfterLoad

Ensures that late initialization will not be called after data is loaded, but instead scene prep will just end.

StartLateInitializationNow

Starts late initialization instantly.

SubsribedToComplete
ScenePrep

Checks if an object has been added to CompleteSecenPrep.

bottom of page