X-Git-Url: https://git.yukkurigames.com/?a=blobdiff_plain;f=Target.m;h=9666c8a80f27280f02d1d3219e45dd3180ccfd5b;hb=3dfe18e6224331f1161ddcc057f755d41ff55266;hp=35ebfc2dfef16c8bb0189c518987657c6a045c15;hpb=530009447c5bbd360ac5023979cffc6d32a28df3;p=enjoyable.git diff --git a/Target.m b/Target.m index 35ebfc2..9666c8a 100644 --- a/Target.m +++ b/Target.m @@ -5,51 +5,66 @@ // Created by Sam McCall on 5/05/09. // -@implementation Target +@implementation Target { + BOOL running; +} + +@synthesize magnitude; +// TODO: Should just be NSCoding? Or like a dictionary? +(Target*) unstringify: (NSString*) str withConfigList: (NSArray*) configs { - NSArray* components = [str componentsSeparatedByString:@"~"]; - NSParameterAssert([components count]); - NSString* typeTag = [components objectAtIndex:0]; - if([typeTag isEqualToString:@"key"]) - return [TargetKeyboard unstringifyImpl:components]; - if([typeTag isEqualToString:@"cfg"]) - return [TargetConfig unstringifyImpl:components withConfigList:configs]; + NSArray* components = [str componentsSeparatedByString:@"~"]; + NSParameterAssert([components count]); + NSString* typeTag = components[0]; + if([typeTag isEqualToString:@"key"]) + return [TargetKeyboard unstringifyImpl:components]; + if([typeTag isEqualToString:@"cfg"]) + return [TargetConfig unstringifyImpl:components withConfigList:configs]; if([typeTag isEqualToString:@"mmove"]) return [TargetMouseMove unstringifyImpl:components]; if([typeTag isEqualToString:@"mbtn"]) return [TargetMouseBtn unstringifyImpl:components]; - - NSParameterAssert(NO); - return NULL; + if([typeTag isEqualToString:@"mscroll"]) + return [TargetMouseScroll unstringifyImpl:components]; + if([typeTag isEqualToString:@"mtoggle"]) + return [TargetToggleMouseScope unstringifyImpl:components]; + + NSParameterAssert(NO); + return NULL; +} + +- (NSString *)stringify { + [self doesNotRecognizeSelector:_cmd]; + return NULL; } --(NSString*) stringify { - [self doesNotRecognizeSelector:_cmd]; - return NULL; +- (void)trigger { } --(void) trigger { - [self doesNotRecognizeSelector:_cmd]; +- (void)untrigger { } --(void) untrigger { - // no-op by default +- (BOOL)update:(JoystickController *)jc { + return NO; } --(BOOL) running { - return running; +- (BOOL)isContinuous { + return NO; } --(void) setRunning: (BOOL) newRunning { - if(newRunning == running) - return; - if(newRunning) - [self trigger]; - else - [self untrigger]; - running = newRunning; + +- (BOOL)running { + return running; +} + +- (void)setRunning:(BOOL)newRunning { + if (running != newRunning) { + running = newRunning; + if (running) + [self trigger]; + else + [self untrigger]; + } } -@synthesize inputValue; @end