From 051a1304b27e7693de1177154fafe83a21392aaf Mon Sep 17 00:00:00 2001 From: Martin Cote Date: Fri, 24 May 2013 13:01:45 -0400 Subject: [PATCH] Fixed sort issue with nodesWithAnimationManagers. --- CCBReader/CCBReader.h | 2 +- CCBReader/CCBReader.m | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/CCBReader/CCBReader.h b/CCBReader/CCBReader.h index 2859349..66a002a 100644 --- a/CCBReader/CCBReader.h +++ b/CCBReader/CCBReader.h @@ -119,7 +119,7 @@ enum id owner; CCBAnimationManager* actionManager; - NSMutableDictionary* actionManagers; + NSMutableArray* actionManagers; NSMutableSet* animatedProps; // For JavaScript bindings diff --git a/CCBReader/CCBReader.m b/CCBReader/CCBReader.m index 2d75cf6..e5cf39b 100644 --- a/CCBReader/CCBReader.m +++ b/CCBReader/CCBReader.m @@ -1142,7 +1142,7 @@ - (void) cleanUpNodeGraph:(CCNode*)node } } -- (CCNode*) readFileWithCleanUp:(BOOL)cleanUp actionManagers:(NSMutableDictionary*)am +- (CCNode*) readFileWithCleanUp:(BOOL)cleanUp actionManagers:(NSMutableArray*)am { if (![self readHeader]) return NULL; if (![self readStringCache]) return NULL; @@ -1152,7 +1152,10 @@ - (CCNode*) readFileWithCleanUp:(BOOL)cleanUp actionManagers:(NSMutableDictionar CCNode* node = [self readNodeGraphParent:NULL]; - [actionManagers setObject:self.actionManager forKey:[NSValue valueWithPointer:node]]; + [actionManagers addObject:[NSDictionary dictionaryWithObjectsAndKeys: + self.actionManager, @"manager", + node, @"node", + nil]]; if (cleanUp) { @@ -1194,7 +1197,7 @@ - (CCNode*) nodeGraphFromData:(NSData*)d owner:(id)o parentSize:(CGSize) parentS ownerCallbackNames = [[NSMutableArray alloc] init]; ownerCallbackNodes = [[NSMutableArray alloc] init]; - NSMutableDictionary* animationManagers = [NSMutableDictionary dictionary]; + NSMutableArray* animationManagers = [NSMutableArray array]; CCNode* nodeGraph = [self readFileWithCleanUp:YES actionManagers:animationManagers]; if (nodeGraph && self.actionManager.autoPlaySequenceId != -1 && !jsControlled) @@ -1209,11 +1212,11 @@ - (CCNode*) nodeGraphFromData:(NSData*)d owner:(id)o parentSize:(CGSize) parentS nodesWithAnimationManagers = [[NSMutableArray alloc] init]; animationManagersForNodes = [[NSMutableArray alloc] init]; } - for (NSValue* pointerValue in animationManagers) + for (NSDictionary *dict in animationManagers) { - CCNode* node = [pointerValue pointerValue]; + CCNode* node = [dict objectForKey:@"node"]; - CCBAnimationManager* manager = [animationManagers objectForKey:pointerValue]; + CCBAnimationManager* manager = [dict objectForKey:@"manager"]; node.userObject = manager; if (jsControlled)