X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Config.m;h=84e6c324a782a09f22fba76fc41f4e6ef38c2c83;hp=27ca4f0e91912a23585ecd6fbca2c4235e91e1af;hb=3090f311c3406d9c157630bc9744b9b14aa42311;hpb=51ca12b552a9c17c4d4029b0340e193b273044a8 diff --git a/Config.m b/Config.m index 27ca4f0..84e6c32 100644 --- a/Config.m +++ b/Config.m @@ -5,22 +5,35 @@ // Created by Sam McCall on 4/05/09. // -@implementation Config +#import "Config.h" --(id) init { - if(self=[super init]) { - entries = [[NSMutableDictionary alloc] init]; - } - return self; +#import "JSAction.h" + +@implementation Config { + NSMutableDictionary *entries; } -@synthesize protect, name, entries; +@synthesize name; +@synthesize entries; + +- (id)init { + if ((self = [super init])) { + entries = [[NSMutableDictionary alloc] init]; + } + return self; +} --(void) setTarget:(Target*)target forAction:(id)jsa { - [entries setValue:target forKey: [jsa stringify]]; +- (Target *)objectForKeyedSubscript:(JSAction *)action { + return action ? entries[action.uid] : nil; } --(Target*) getTargetForAction: (id) jsa { - return entries[[jsa stringify]]; + +- (void)setObject:(Target *)target forKeyedSubscript:(JSAction *)action { + if (action) { + if (target) + entries[action.uid] = target; + else + [entries removeObjectForKey:action.uid]; + } } @end