Game Development Reference
In-Depth Information
Listing 10-34. Saving the Game State
void SaveGameState(String Handle)
{
// Only save game state when game is active and being played not at
// menu or high score table etc.
if (m_GameState != GameState.ActiveGamePlay)
{
return;
}
// Save Player's Score
SharedPreferences settings = m_Context.getSharedPreferences(Handle, 0);
SharedPreferences.Editor editor = settings.edit();
// Player's Score
editor.putInt("Score", m_Score);
// Player's Health
editor.putInt("Health", m_Pyramid.GetObjectStats().GetHealth());
// Can Continue Game
editor.putBoolean("CanContinue", m_CanContinue);
// Commit the edits!
editor.commit();
// Camera
m_Camera.SaveCameraState("Camera");
// Arena Objects Set
m_ArenaObjectsSet.SaveSet(ARENA_OBJECTS_HANDLE);
// Tank Fleet
m_TankFleet.SaveSet(TANK_FLEET_HANDLE);
}
The LoadGameState() function loads the data that was saved from the SaveGameState() function.
(See Listing 10-35.)
Listing 10-35. Loading the Game State
void LoadGameState(String Handle)
{
// Load game state of last game that was interrupted during play
// Restore preferences
SharedPreferences settings = m_Context.getSharedPreferences(Handle, 0);
// Load In Player Score
m_Score = settings.getInt("Score", 0);
 
Search WWH ::




Custom Search