5 // Created by Sam McCall on 5/05/09.
8 @implementation Target {
12 @synthesize magnitude;
14 // TODO: Should just be NSCoding? Or like a dictionary?
15 +(Target*) unstringify: (NSString*) str withConfigList: (NSArray*) configs {
16 NSArray* components = [str componentsSeparatedByString:@"~"];
17 NSParameterAssert([components count]);
18 NSString* typeTag = components[0];
19 if([typeTag isEqualToString:@"key"])
20 return [TargetKeyboard unstringifyImpl:components];
21 if([typeTag isEqualToString:@"cfg"])
22 return [TargetConfig unstringifyImpl:components withConfigList:configs];
23 if([typeTag isEqualToString:@"mmove"])
24 return [TargetMouseMove unstringifyImpl:components];
25 if([typeTag isEqualToString:@"mbtn"])
26 return [TargetMouseBtn unstringifyImpl:components];
27 if([typeTag isEqualToString:@"mscroll"])
28 return [TargetMouseScroll unstringifyImpl:components];
29 if([typeTag isEqualToString:@"mtoggle"])
30 return [TargetToggleMouseScope unstringifyImpl:components];
32 NSParameterAssert(NO);
36 - (NSString *)stringify {
37 [self doesNotRecognizeSelector:_cmd];
47 - (BOOL)update:(JoystickController *)jc {
51 - (BOOL)isContinuous {
59 - (void)setRunning:(BOOL)newRunning {
60 if (running != newRunning) {