X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Config.m;h=189773436a41c7af148000a5834d65aafffa7d6a;hp=5a83ed30461deed4a4bfd44d4b6a993140571fa5;hb=f864d363128de19fc6591b77ae9226b34166d715;hpb=320e3065d251e11370e571df5705675937b76521 diff --git a/Config.m b/Config.m index 5a83ed3..1897734 100644 --- a/Config.m +++ b/Config.m @@ -7,29 +7,39 @@ #import "Config.h" -#import "JSAction.h" +#import "NJInput.h" @implementation Config - (id)initWithName:(NSString *)name { if ((self = [super init])) { - self.name = name; + self.name = name ? name : @"Untitled"; _entries = [[NSMutableDictionary alloc] init]; } return self; } -- (Target *)objectForKeyedSubscript:(JSAction *)action { - return action ? _entries[action.uid] : nil; +- (Target *)objectForKeyedSubscript:(NJInput *)input { + return input ? _entries[input.uid] : nil; } -- (void)setObject:(Target *)target forKeyedSubscript:(JSAction *)action { - if (action) { +- (void)setObject:(Target *)target forKeyedSubscript:(NJInput *)input { + if (input) { if (target) - _entries[action.uid] = target; + _entries[input.uid] = target; else - [_entries removeObjectForKey:action.uid]; + [_entries removeObjectForKey:input.uid]; } } +- (NSDictionary *)serialize { + NSMutableDictionary* cfgEntries = [[NSMutableDictionary alloc] initWithCapacity:_entries.count]; + for (id key in _entries) { + id serialized = [_entries[key] serialize]; + if (serialized) + cfgEntries[key] = serialized; + } + return @{ @"name": _name, @"entries": cfgEntries }; +} + @end