X-Git-Url: https://git.yukkurigames.com/?a=blobdiff_plain;f=Config.m;h=fcc18283a8230b959fd6bfe1c60c7d34e7b5f963;hb=19eadf9e688d8c087b47f83f8634593fddd641ac;hp=f62c40fdf49a1571442bd25becb1ffd9f7bd13ac;hpb=e68c19b5923618b763543c74bf8dd6f85d4d323e;p=enjoyable.git diff --git a/Config.m b/Config.m index f62c40f..fcc1828 100644 --- a/Config.m +++ b/Config.m @@ -7,9 +7,12 @@ #import "Config.h" -@implementation Config +@implementation Config { + NSMutableDictionary *entries; +} -@synthesize protect, name, entries; +@synthesize name; +@synthesize entries; - (id)init { if ((self = [super init])) { @@ -18,12 +21,17 @@ return self; } -- (void)setTarget:(Target *)target forAction:(JSAction *)jsa { - entries[[jsa stringify]] = target; +- (Target *)objectForKeyedSubscript:(JSAction *)action { + return action ? entries[action.uid] : nil; } -- (Target *)getTargetForAction:(JSAction *)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