From d19677f9f73d8fe7436982bdf8d40f69d69d1b43 Mon Sep 17 00:00:00 2001 From: Starla Insigna Date: Fri, 12 Aug 2011 09:51:50 -0400 Subject: Added tutorial mode GameLayer was also renamed to ClassicGameMode and its pause functionality and score/lives counters were moved out to GameMode. FallingObjectDelegate was created to allow for custom code to be run when items were caught/missed, something that is used extensively by tutorial mode. Important: Cart Collect's bundle identifier was changed in this revision from com.fourisland.Cart-Collect to com.apatheticink.Cart-Collect, so ensure that before attempting to compile/run this build, you clear your build directory and remove the old version of Cart Collect from your device. Closes #193 --- Classes/FallingObject.m | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'Classes/FallingObject.m') diff --git a/Classes/FallingObject.m b/Classes/FallingObject.m index 515948e..85ea902 100755 --- a/Classes/FallingObject.m +++ b/Classes/FallingObject.m @@ -11,7 +11,7 @@ @implementation FallingObject -@synthesize sprite, weight; +@synthesize sprite, weight, delegate; - (id)init { @@ -46,6 +46,16 @@ { [self collideWithCart]; + if ((delegate != nil) && ([delegate respondsToSelector:@selector(didCatchItem:)])) + { + [delegate didCatchItem:self]; + } + + if ((delegate != nil) && ([delegate respondsToSelector:@selector(didDestroyItem:)])) + { + [delegate didDestroyItem:self]; + } + return YES; } } @@ -57,6 +67,16 @@ { [self collideWithFloor]; + if ((delegate != nil) && ([delegate respondsToSelector:@selector(didMissItem:)])) + { + [delegate didMissItem:self]; + } + + if ((delegate != nil) && ([delegate respondsToSelector:@selector(didDestroyItem:)])) + { + [delegate didDestroyItem:self]; + } + return YES; } @@ -75,7 +95,8 @@ - (void)dealloc { - [sprite release]; + [sprite.parent removeChild:sprite cleanup:YES]; + [delegate release]; [super dealloc]; } -- cgit 1.4.1