Platformer Pro  2.3.2
A platform game kit for Unity.
PlatformerPro.Persistable Class Referenceabstract

Base class for objects that can be saved. More...

Inheritance diagram for PlatformerPro.Persistable:
PlatformerPro.PlatformerProMonoBehaviour PlatformerPro.ICharacterReference PlatformerPro.ActivationGroup PlatformerPro.CharacterHealth PlatformerPro.ItemStatProvider PlatformerPro.LevelManager PlatformerPro.Shop PlatformerPro.EquipmentManager PlatformerPro.ItemManager

Public Member Functions

virtual System.Type[] GetExtraTypes ()
 Support complex object serialisation by passing additional types to seralizer. More...
 
abstract void ApplySaveData (object t)
 Applies the save data to the object. More...
 
abstract System.Type SavedObjectType ()
 Get the type of object this Persistable saves. More...
 
abstract void ResetSaveData ()
 Resets the save data back to default. More...
 
- Public Member Functions inherited from PlatformerPro.PlatformerProMonoBehaviour
virtual void Validate (PlatformerProMonoBehaviour myTarget)
 Override this method if you want to provide custom validation. The actual code should be surrounded by the if UNITY_EDITOR / endif directive. More...
 

Static Public Member Functions

static void Save (Persistable p)
 Save the given persistable. More...
 
static void SaveXml (Persistable p)
 Save the given persistable in XML format. More...
 
static void SaveBinary (Persistable p)
 Save the given persistable in XML format. More...
 
static void Load (Persistable p)
 Load the given persistable. More...
 
static void Reset (Persistable p)
 Resets the given persistable. More...
 

Public Attributes

bool usePersistenceDefaults = true
 Should we use the persistence defaults or override with our own values. More...
 
bool enablePersistence = true
 Should we enable persistence. More...
 
bool saveOnAnyChange
 Save whenever this value changes (Note: not supported by all objects). More...
 
PersistenceResetType persistenceType
 When do we reset persistence? More...
 

Static Public Attributes

const string BasePlayerPrefId = "PP.Persistent."
 The base player preference identifier. More...
 

Protected Member Functions

virtual void OnLoaded ()
 Raises the loaded event. More...
 
virtual void ConfigureEventListeners ()
 Init this instance. More...
 
virtual void DoPendingSaves (object sender, PersistenceEventArgs e)
 Trigger any pending saves. More...
 
virtual void PhaseChange (object sender, GamePhaseEventArgs e)
 Handle a change of game phase, look for persistence event and apply. More...
 
virtual void HandleRespawn (object sender, CharacterEventArgs e)
 Handle a change of game phase, look for persistence event and apply. More...
 
virtual void HandleWillExitScene (object sender, SceneEventArgs e)
 Handles the will exit scene event More...
 
virtual void HandleGameOver (object sender, CharacterEventArgs e)
 Handles the game over event More...
 
virtual void HandleDied (object sender, DamageInfoEventArgs e)
 Handles the died event. More...
 

Static Protected Member Functions

static object LoadSavedDataXml (Persistable p)
 Does the actual load and returns raw object. More...
 
static object LoadSavedDataBinary (Persistable p)
 Does the actual load and returns raw object. More...
 

Protected Attributes

bool loaded
 Have we loaded the data yet? More...
 
bool readyToSave
 Are we ready to save on the next save tick? More...
 
Persistable latestSaveData
 Data to save when we trigger the next save tick. More...
 

Properties

virtual string PlayerPrefsIdentifier [get]
 The player preference identifier. More...
 
virtual bool EnablePersistence [get]
 Gets the value for persistence type taking in to account defaults. More...
 
virtual PersistenceResetType PersistenceType [get]
 Gets the value for persistence type taking in to account defaults. More...
 
virtual bool SaveOnChange [get]
 Gets the value for save on change type taking in to account defaults. More...
 
abstract Character Character [get, set]
 Gets the character. More...
 
abstract object SaveData [get]
 Gets the data to save. More...
 
abstract string Identifier [get]
 Get a unique identifier to use when saving the data (for example this could be used for part of the file name or player prefs name). More...
 
- Properties inherited from PlatformerPro.PlatformerProMonoBehaviour
virtual string Header [get]
 Gets the header string used to describe the component. More...
 
virtual string DocLink [get]
 Gets a link to documentation site. More...
 
virtual string VideoLink [get]
 Gets a link to a youtube video. More...
 
virtual string Deprecated [get]
 If non-null this component is deprecated. The string shows a message indicating how it should be replaced. More...
 
- Properties inherited from PlatformerPro.ICharacterReference
Character Character [get, set]
 Get the character. More...
 

Events

System.EventHandler< EmptyEventArgsLoaded
 Sent when this persistable is loaded. More...
 

Detailed Description

Base class for objects that can be saved.

Member Function Documentation

◆ ApplySaveData()

abstract void PlatformerPro.Persistable.ApplySaveData ( object  t)
pure virtual

◆ ConfigureEventListeners()

virtual void PlatformerPro.Persistable.ConfigureEventListeners ( )
protectedvirtual

Init this instance.

Reimplemented in PlatformerPro.EquipmentManager, and PlatformerPro.CharacterHealth.

◆ DoPendingSaves()

virtual void PlatformerPro.Persistable.DoPendingSaves ( object  sender,
PersistenceEventArgs  e 
)
protectedvirtual

Trigger any pending saves.

◆ GetExtraTypes()

virtual System.Type [] PlatformerPro.Persistable.GetExtraTypes ( )
virtual

Support complex object serialisation by passing additional types to seralizer.

Reimplemented in PlatformerPro.Shop, PlatformerPro.ItemManager, and PlatformerPro.EquipmentManager.

◆ HandleDied()

virtual void PlatformerPro.Persistable.HandleDied ( object  sender,
DamageInfoEventArgs  e 
)
protectedvirtual

Handles the died event.

Parameters
senderSender.
eE.

◆ HandleGameOver()

virtual void PlatformerPro.Persistable.HandleGameOver ( object  sender,
CharacterEventArgs  e 
)
protectedvirtual

Handles the game over event

Parameters
senderSender.
eEvent.

◆ HandleRespawn()

virtual void PlatformerPro.Persistable.HandleRespawn ( object  sender,
CharacterEventArgs  e 
)
protectedvirtual

Handle a change of game phase, look for persistence event and apply.

Parameters
senderSender.
eE.

◆ HandleWillExitScene()

virtual void PlatformerPro.Persistable.HandleWillExitScene ( object  sender,
SceneEventArgs  e 
)
protectedvirtual

Handles the will exit scene event

Parameters
senderSender.
eEvent.

◆ Load()

static void PlatformerPro.Persistable.Load ( Persistable  p)
static

Load the given persistable.

Parameters
pPersistable to laod.

◆ LoadSavedDataBinary()

static object PlatformerPro.Persistable.LoadSavedDataBinary ( Persistable  p)
staticprotected

Does the actual load and returns raw object.

Returns
The saved data.
Parameters
pP.

◆ LoadSavedDataXml()

static object PlatformerPro.Persistable.LoadSavedDataXml ( Persistable  p)
staticprotected

Does the actual load and returns raw object.

Returns
The saved data.
Parameters
pP.

◆ OnLoaded()

virtual void PlatformerPro.Persistable.OnLoaded ( )
protectedvirtual

Raises the loaded event.

Parameters
typeType.
amountNumber collected.
characterCharacter.

◆ PhaseChange()

virtual void PlatformerPro.Persistable.PhaseChange ( object  sender,
GamePhaseEventArgs  e 
)
protectedvirtual

Handle a change of game phase, look for persistence event and apply.

Parameters
senderSender.
eE.

Reimplemented in PlatformerPro.CharacterHealth.

◆ Reset()

static void PlatformerPro.Persistable.Reset ( Persistable  p)
static

Resets the given persistable.

Parameters
pPersistable to reset.

◆ ResetSaveData()

abstract void PlatformerPro.Persistable.ResetSaveData ( )
pure virtual

◆ Save()

static void PlatformerPro.Persistable.Save ( Persistable  p)
static

Save the given persistable.

Parameters
pPersistable to save.

◆ SaveBinary()

static void PlatformerPro.Persistable.SaveBinary ( Persistable  p)
static

Save the given persistable in XML format.

Parameters
pPersistable to save.

◆ SavedObjectType()

abstract System.Type PlatformerPro.Persistable.SavedObjectType ( )
pure virtual

◆ SaveXml()

static void PlatformerPro.Persistable.SaveXml ( Persistable  p)
static

Save the given persistable in XML format.

Parameters
pPersistable to save.

Member Data Documentation

◆ BasePlayerPrefId

const string PlatformerPro.Persistable.BasePlayerPrefId = "PP.Persistent."
static

The base player preference identifier.

◆ enablePersistence

bool PlatformerPro.Persistable.enablePersistence = true

Should we enable persistence.

◆ latestSaveData

Persistable PlatformerPro.Persistable.latestSaveData
protected

Data to save when we trigger the next save tick.

◆ loaded

bool PlatformerPro.Persistable.loaded
protected

Have we loaded the data yet?

◆ persistenceType

PersistenceResetType PlatformerPro.Persistable.persistenceType

When do we reset persistence?

◆ readyToSave

bool PlatformerPro.Persistable.readyToSave
protected

Are we ready to save on the next save tick?

◆ saveOnAnyChange

bool PlatformerPro.Persistable.saveOnAnyChange

Save whenever this value changes (Note: not supported by all objects).

◆ usePersistenceDefaults

bool PlatformerPro.Persistable.usePersistenceDefaults = true

Should we use the persistence defaults or override with our own values.

Property Documentation

◆ Character

abstract Character PlatformerPro.Persistable.Character
getset

Gets the character.

◆ EnablePersistence

virtual bool PlatformerPro.Persistable.EnablePersistence
get

Gets the value for persistence type taking in to account defaults.

◆ Identifier

abstract string PlatformerPro.Persistable.Identifier
get

Get a unique identifier to use when saving the data (for example this could be used for part of the file name or player prefs name).

◆ PersistenceType

virtual PersistenceResetType PlatformerPro.Persistable.PersistenceType
getprotected

Gets the value for persistence type taking in to account defaults.

◆ PlayerPrefsIdentifier

virtual string PlatformerPro.Persistable.PlayerPrefsIdentifier
get

The player preference identifier.

◆ SaveData

abstract object PlatformerPro.Persistable.SaveData
get

Gets the data to save.

◆ SaveOnChange

virtual bool PlatformerPro.Persistable.SaveOnChange
getprotected

Gets the value for save on change type taking in to account defaults.

Event Documentation

◆ Loaded

System.EventHandler<EmptyEventArgs> PlatformerPro.Persistable.Loaded

Sent when this persistable is loaded.


The documentation for this class was generated from the following file: