5 // Created by Sam McCall on 5/05/09.
10 #import "TargetKeyboard.h"
11 #import "TargetConfig.h"
12 #import "TargetMouseMove.h"
13 #import "TargetMouseBtn.h"
14 #import "TargetMouseScroll.h"
15 #import "TargetToggleMouseScope.h"
17 @implementation Target {
21 @synthesize magnitude;
23 + (NSString *)serializationCode {
24 [self doesNotRecognizeSelector:_cmd];
28 - (NSDictionary *)serialize {
29 [self doesNotRecognizeSelector:_cmd];
33 + (Target *)targetDeserialize:(NSDictionary *)serialization
34 withConfigs:(NSArray *)configs {
35 // Don't crash loading old configs (but don't load them either).
36 if (![serialization isKindOfClass:[NSDictionary class]])
38 NSString *type = serialization[@"type"];
39 for (Class cls in @[[TargetKeyboard class],
41 [TargetMouseMove class],
42 [TargetMouseBtn class],
43 [TargetMouseScroll class],
44 [TargetToggleMouseScope class]
46 if ([type isEqualToString:[cls serializationCode]])
47 return [cls targetDeserialize:serialization withConfigs:configs];
59 - (BOOL)update:(JoystickController *)jc {
63 - (BOOL)isContinuous {
71 - (void)setRunning:(BOOL)newRunning {
72 if (running != newRunning) {