diff options
Diffstat (limited to 'Classes/ClassicGameMode.m')
-rwxr-xr-x | Classes/ClassicGameMode.m | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/Classes/ClassicGameMode.m b/Classes/ClassicGameMode.m index 306c1d1..9356fea 100755 --- a/Classes/ClassicGameMode.m +++ b/Classes/ClassicGameMode.m | |||
@@ -10,8 +10,6 @@ | |||
10 | #import "FallingObject.h" | 10 | #import "FallingObject.h" |
11 | #import "GameOverScene.h" | 11 | #import "GameOverScene.h" |
12 | #import "SimpleAudioEngine.h" | 12 | #import "SimpleAudioEngine.h" |
13 | #import "CCNotifications.h" | ||
14 | #import "TestFlight.h" | ||
15 | 13 | ||
16 | @implementation ClassicGameMode | 14 | @implementation ClassicGameMode |
17 | 15 | ||
@@ -22,6 +20,26 @@ typedef enum { | |||
22 | kRockObject | 20 | kRockObject |
23 | } FallingObjects; | 21 | } FallingObjects; |
24 | 22 | ||
23 | static GameModeInfo* info; | ||
24 | |||
25 | + (GameModeInfo*)info | ||
26 | { | ||
27 | if (info == nil) | ||
28 | { | ||
29 | info = [[GameModeInfo alloc] initWithName:@"Collect" | ||
30 | location:@"Paris" | ||
31 | numOfStars:3 | ||
32 | imageFilename:[[NSBundle mainBundle] pathForResource:@"paris" ofType:@"png"] | ||
33 | unlocked:NO | ||
34 | unlockCondition:@"Beat the tutorial!" | ||
35 | gameClass:[ClassicGameMode class] | ||
36 | globalHighscoreKey:@"Classic" | ||
37 | starsToUnlock:0]; | ||
38 | } | ||
39 | |||
40 | return info; | ||
41 | } | ||
42 | |||
25 | - (void)tick:(ccTime)dt | 43 | - (void)tick:(ccTime)dt |
26 | { | 44 | { |
27 | int lastScore = score; | 45 | int lastScore = score; |
@@ -32,7 +50,7 @@ typedef enum { | |||
32 | { | 50 | { |
33 | [self unscheduleAllSelectors]; | 51 | [self unscheduleAllSelectors]; |
34 | 52 | ||
35 | [[CCDirector sharedDirector] replaceScene:[CCTransitionSlideInT transitionWithDuration:1.5f scene:[GameOverScene sceneWithScore:score gameMode:@"Collect"]]]; | 53 | [[CCDirector sharedDirector] replaceScene:[CCTransitionSlideInT transitionWithDuration:1.5f scene:[GameOverScene sceneWithScore:score gameMode:[ClassicGameMode info]]]]; |
36 | } else if (score > lastScore) | 54 | } else if (score > lastScore) |
37 | { | 55 | { |
38 | if ((lastScore < 6500) && (score >= 6500)) | 56 | if ((lastScore < 6500) && (score >= 6500)) |
@@ -45,24 +63,14 @@ typedef enum { | |||
45 | [self unschedule:@selector(randomlyAddObject:)]; | 63 | [self unschedule:@selector(randomlyAddObject:)]; |
46 | [self schedule:@selector(randomlyAddObject:) interval:0.7f]; | 64 | [self schedule:@selector(randomlyAddObject:) interval:0.7f]; |
47 | addSpeed = 0.7f; | 65 | addSpeed = 0.7f; |
48 | } else if ((lastScore < 3000) && (score >= 3000)) | ||
49 | { | ||
50 | NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; | ||
51 | |||
52 | if (![defaults boolForKey:@"unlockedJumpMode"]) | ||
53 | { | ||
54 | [[CCNotifications sharedManager] addWithTitle:@"Jump" message:@"You've unlocked a new game mode!" image:@"venice.png"]; | ||
55 | |||
56 | [defaults setBool:YES forKey:@"unlockedJumpMode"]; | ||
57 | [defaults synchronize]; | ||
58 | |||
59 | [TestFlight passCheckpoint:@"Unlocked Jump Mode"]; | ||
60 | } | ||
61 | } else if ((lastScore < 2500) && (score >= 2500)) | 66 | } else if ((lastScore < 2500) && (score >= 2500)) |
62 | { | 67 | { |
63 | [self unschedule:@selector(randomlyAddObject:)]; | 68 | [self unschedule:@selector(randomlyAddObject:)]; |
64 | [self schedule:@selector(randomlyAddObject:) interval:0.8f]; | 69 | [self schedule:@selector(randomlyAddObject:) interval:0.8f]; |
65 | addSpeed = 0.8f; | 70 | addSpeed = 0.8f; |
71 | } else if ((lastScore < 2000) && (score >= 2000)) | ||
72 | { | ||
73 | [[ClassicGameMode info] setStar:1 withMessage:@"Get 2000 points"]; | ||
66 | } else if ((lastScore < 1500) && (score >= 1500)) | 74 | } else if ((lastScore < 1500) && (score >= 1500)) |
67 | { | 75 | { |
68 | [self unschedule:@selector(randomlyAddObject:)]; | 76 | [self unschedule:@selector(randomlyAddObject:)]; |
@@ -73,6 +81,8 @@ typedef enum { | |||
73 | [self unschedule:@selector(randomlyAddObject:)]; | 81 | [self unschedule:@selector(randomlyAddObject:)]; |
74 | [self schedule:@selector(randomlyAddObject:) interval:1.0f]; | 82 | [self schedule:@selector(randomlyAddObject:) interval:1.0f]; |
75 | addSpeed = 1.0f; | 83 | addSpeed = 1.0f; |
84 | |||
85 | [[ClassicGameMode info] setStar:0 withMessage:@"Get 500 points"]; | ||
76 | } else if ((lastScore < 150) && (score >= 150)) | 86 | } else if ((lastScore < 150) && (score >= 150)) |
77 | { | 87 | { |
78 | [self unschedule:@selector(randomlyAddObject:)]; | 88 | [self unschedule:@selector(randomlyAddObject:)]; |