X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=TargetToggleMouseScope.m;h=863a35fda7d1df27182ff543ff8fec040ddbe59a;hp=55357e5f6a38da52068e26ffb61d456f934a4aca;hb=f563321aec9e13b8479ab3b890a9179f095a8b17;hpb=61f8cdec21ab083b29c22aa11fda54d6005666ca diff --git a/TargetToggleMouseScope.m b/TargetToggleMouseScope.m index 55357e5..863a35f 100644 --- a/TargetToggleMouseScope.m +++ b/TargetToggleMouseScope.m @@ -3,26 +3,34 @@ // Enjoy // // Created by Yifeng Huang on 7/28/12. -// Copyright (c) 2012 __MyCompanyName__. All rights reserved. // #import "TargetToggleMouseScope.h" +#import "ApplicationController.h" +#import "JoystickController.h" + @implementation TargetToggleMouseScope --(NSString*) stringify { - return [[NSString alloc] initWithFormat: @"mtoggle"]; ++ (NSString *)serializationCode { + return @"mtoggle"; } -+(TargetToggleMouseScope*) unstringifyImpl: (NSArray*) comps { - NSParameterAssert([comps count] == 1); - TargetToggleMouseScope* target = [[TargetToggleMouseScope alloc] init]; - return target; +- (NSDictionary *)serialize { + return @{ @"type": @"mtoggle" }; } --(void) trigger: (JoystickController *)jc { - [jc setFrontWindowOnly: ![jc frontWindowOnly]]; - printf("Front window only: %d\n", [jc frontWindowOnly]); ++ (Target *)targetDeserialize:(NSDictionary *)serialization + withConfigs:(NSArray *)configs { + TargetToggleMouseScope *target = [[TargetToggleMouseScope alloc] init]; + return target; +} +- (void)trigger { + // FIXME: It's hacky to get at the controller this way, but it's + // also hacky to pass it. Shouldn't need to do either. + ApplicationController *ac = NSApplication.sharedApplication.delegate; + JoystickController *jc = ac.jsController; + jc.frontWindowOnly = !jc.frontWindowOnly; } @end