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 + (NSString *)serializationCode {
22 [self doesNotRecognizeSelector:_cmd];
26 - (NSDictionary *)serialize {
27 [self doesNotRecognizeSelector:_cmd];
31 + (Target *)targetDeserialize:(NSDictionary *)serialization
32 withConfigs:(NSArray *)configs {
33 // Don't crash loading old configs (but don't load them either).
34 if (![serialization isKindOfClass:NSDictionary.class])
36 NSString *type = serialization[@"type"];
37 for (Class cls in @[TargetKeyboard.class,
39 TargetMouseMove.class,
41 TargetMouseScroll.class,
42 TargetToggleMouseScope.class
44 if ([type isEqualToString:cls.serializationCode])
45 return [cls targetDeserialize:serialization withConfigs:configs];
57 - (BOOL)update:(JoystickController *)jc {
61 - (BOOL)isContinuous {
69 - (void)setRunning:(BOOL)newRunning {
70 if (running != newRunning) {