-(void)setDefaults {
highestLevelNumber = 1;
highestOverallLevel = @"a";
currentLevelNumber = 1;
currentOverallLevel = @"a";
hasWhitePower = NO;
hasBluePower = NO;
hasYellowPower = NO;
hasGreenPower = NO;
hasPurplePower = NO;
hasRedPower = NO;
[self changeLevelName];
}
-(void)loadUp {
// Check to see if there is a gameState.dat file, if it exists load the contents
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *documentPath = [documentsDirectory stringByAppendingPathComponent:@"gameState.dat"];
NSMutableData *gameData = [NSData dataWithContentsOfFile:documentPath];
if(gameData) {
CCLOG(@"it's in");
NSKeyedUnarchiver *decoder = [[NSKeyedUnarchiver alloc] initForReadingWithData:gameData];
// Set the local instance of myobject to the object held in the gameState file with the key "myObject"
highestLevelNumber = [decoder decodeIntegerForKey:@"highestLevelNumber"];
currentLevelNumber = [decoder decodeIntegerForKey:@"currentLevelNumber"];
highestOverallLevel = [decoder decodeObjectForKey:@"highestOverallLevel"];
currentOverallLevel = [decoder decodeObjectForKey:@"currentOverallLevel"];
hasWhitePower = [decoder decodeBoolForKey:@"hasWhitePower"];
hasBluePower = [decoder decodeBoolForKey:@"hasBluePower"];
hasYellowPower = [decoder decodeBoolForKey:@"hasYellowPower"];
hasGreenPower = [decoder decodeBoolForKey:@"hasGreenPower"];
hasPurplePower = [decoder decodeBoolForKey:@"hasPurplePower"];
hasRedPower = [decoder decodeBoolForKey:@"hasRedPower"];
// Change the level name so the appropriate level will load up after you've set all variables
[self changeLevelName];
// We have finished decoding the objects and retained them so we can now release the decoder object
[decoder release];
} else {
// Set default values
[self setDefaults];
CCLOG(@"defaults");
}
}