X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=TargetMouseScroll.m;h=3c417c1264a56576d0d4d2870af97d219acfdbb3;hp=a1cca9c94d926816c95e8106f5c25cc7345f0bd7;hb=dd1f684886c2809133356bb9b335a35293e8849e;hpb=61f8cdec21ab083b29c22aa11fda54d6005666ca diff --git a/TargetMouseScroll.m b/TargetMouseScroll.m index a1cca9c..3c417c1 100644 --- a/TargetMouseScroll.m +++ b/TargetMouseScroll.m @@ -12,22 +12,25 @@ @synthesize howMuch; --(NSString*) stringify { - return [[NSString alloc] initWithFormat: @"mscroll~%d", howMuch]; ++ (NSString *)serializationCode { + return @"mscroll"; } -+(TargetMouseScroll*) unstringifyImpl: (NSArray*) comps { - NSParameterAssert([comps count] == 2); - TargetMouseScroll* target = [[TargetMouseScroll alloc] init]; - [target setHowMuch: [[comps objectAtIndex:1] integerValue]]; - return target; +- (NSDictionary *)serialize { + return @{ @"type": @"mscroll", @"howMuch": @(self.howMuch) }; } --(void) trigger: (JoystickController *)jc { ++ (Target *)targetDeserialize:(NSDictionary *)serialization + withConfigs:(NSArray *)configs { + TargetMouseScroll *target = [[TargetMouseScroll alloc] init]; + target.howMuch = [serialization[@"howMuch"] intValue]; + return target; +} +-(void) trigger { CGEventRef scroll = CGEventCreateScrollWheelEvent(NULL, kCGScrollEventUnitLine, 1, - [self howMuch]); + self.howMuch); CGEventPost(kCGHIDEventTap, scroll); CFRelease(scroll); }