X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=TargetMouseBtn.m;h=28fe536345c24fa88f3e490e320b688da0504fa1;hp=74298746cfd67fa3d990aea981364d851b046f02;hb=0a402879ee3beb79bb4d2270f909ad75eead0c96;hpb=61f8cdec21ab083b29c22aa11fda54d6005666ca diff --git a/TargetMouseBtn.m b/TargetMouseBtn.m index 7429874..28fe536 100644 --- a/TargetMouseBtn.m +++ b/TargetMouseBtn.m @@ -12,18 +12,22 @@ @synthesize which; --(NSString*) stringify { - return [[NSString alloc] initWithFormat: @"mbtn~%u", which]; ++ (NSString *)serializationCode { + return @"mbtn"; } -+(TargetMouseBtn*) unstringifyImpl: (NSArray*) comps { - NSParameterAssert([comps count] == 2); - TargetMouseBtn* target = [[TargetMouseBtn alloc] init]; - [target setWhich: [[comps objectAtIndex:1] integerValue]]; +- (NSDictionary *)serialize { + return @{ @"type": @"mbtn", @"which": @(self.which) }; +} + ++ (Target *)targetDeserialize:(NSDictionary *)serialization + withConfigs:(NSArray *)configs { + TargetMouseBtn *target = [[TargetMouseBtn alloc] init]; + target.which = [serialization[@"which"] intValue]; return target; } --(void) trigger: (JoystickController *)jc { +-(void) trigger { NSRect screenRect = [[NSScreen mainScreen] frame]; NSInteger height = screenRect.size.height; NSPoint mouseLoc = [NSEvent mouseLocation]; @@ -36,7 +40,7 @@ CFRelease(click); } --(void) untrigger: (JoystickController *)jc { +-(void) untrigger { NSRect screenRect = [[NSScreen mainScreen] frame]; NSInteger height = screenRect.size.height; NSPoint mouseLoc = [NSEvent mouseLocation];