All pastes #2093217 Raw Edit

Miscellany

public text v1 · immutable
#2093217 ·published 2011-11-09 00:02 UTC
rendered paste body
-(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");
    }
}