X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=TargetMouseMove.m;h=2806827588daaa6c330888722dbf0aacdac7d1ad;hp=893bbb6263e92f23e67dff295f4652a159ea13b2;hb=f864d363128de19fc6591b77ae9226b34166d715;hpb=16a7c0a04bd05f4012d5a97a53520802969cfc86 diff --git a/TargetMouseMove.m b/TargetMouseMove.m index 893bbb6..2806827 100644 --- a/TargetMouseMove.m +++ b/TargetMouseMove.m @@ -3,12 +3,11 @@ // Enjoy // // Created by Yifeng Huang on 7/26/12. -// Copyright (c) 2012 __MyCompanyName__. All rights reserved. // #import "TargetMouseMove.h" -#import "JoystickController.h" +#import "NJInputController.h" @implementation TargetMouseMove { int sign; @@ -18,14 +17,12 @@ return YES; } -@synthesize axis; - + (NSString *)serializationCode { return @"mmove"; } - (NSDictionary *)serialize { - return @{ @"type": @"mmove", @"axis": @(self.axis) }; + return @{ @"type": @"mmove", @"axis": @(_axis) }; } + (Target *)targetDeserialize:(NSDictionary *)serialization @@ -35,13 +32,13 @@ return target; } -- (BOOL)update:(JoystickController *)jc { +- (BOOL)update:(NJInputController *)jc { if (fabsf(self.magnitude) < 0.01) { sign = 0; return NO; // dead zone } - // If the action crossed over High/Low, this target is done. + // If the input crossed over High/Low, this target is done. if (!sign) sign = self.magnitude < 0 ? -1 : 1; else if (sign / self.magnitude < 0) { @@ -49,15 +46,14 @@ return NO; } - NSRect screenRect = [[NSScreen mainScreen] frame]; - NSInteger height = screenRect.size.height; + CGFloat height = NSScreen.mainScreen.frame.size.height; // TODO float speed = 4.f; - if ([jc frontWindowOnly]) + if (jc.frontWindowOnly) speed = 12.f; float dx = 0.f, dy = 0.f; - if (axis == 0) + if (_axis == 0) dx = self.magnitude * speed; else dy = self.magnitude * speed; @@ -70,10 +66,10 @@ CGPointMake(mouseLoc.x, height - mouseLoc.y), 0); CGEventSetType(move, kCGEventMouseMoved); - CGEventSetIntegerValueField(move, kCGMouseEventDeltaX, dx); - CGEventSetIntegerValueField(move, kCGMouseEventDeltaY, dy); + CGEventSetIntegerValueField(move, kCGMouseEventDeltaX, (int)dx); + CGEventSetIntegerValueField(move, kCGMouseEventDeltaY, (int)dy); - if ([jc frontWindowOnly]) { + if (jc.frontWindowOnly) { ProcessSerialNumber psn; GetFrontProcess(&psn); CGEventPostToPSN(&psn, move);