// // GameModeManager.m // Cartographic // // Created by Starla Insigna on 11/29/11. // Copyright (c) 2011 Four Island. All rights reserved. // #import "GameModeManager.h" #import "GameModeInfo.h" #import "TutorialMode.h" #import "ClassicGameMode.h" #import "JumpGameMode.h" @implementation GameModeManager @synthesize gameModes; static GameModeManager* sharedInstance = nil; + (GameModeManager*)sharedInstance { if (sharedInstance == nil) { sharedInstance = [[GameModeManager alloc] init]; } return sharedInstance; } - (id)init { self = [super init]; if (nil != self) { gameModes = [[NSArray alloc] initWithObjects: [TutorialMode info], [ClassicGameMode info], [JumpGameMode info], nil]; NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; stars = [defaults integerForKey:@"stars"]; } return self; } - (void)setStars:(int)m_stars { if (stars != m_stars) { stars = m_stars; NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; [defaults setInteger:m_stars forKey:@"stars"]; for (GameModeInfo* gameMode in gameModes) { if ((!gameMode.unlocked) && (stars >= gameMode.starsToUnlock)) { [gameMode unlock]; } } } } - (int)stars { return stars; } @end