X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Classes%2FNJInput.m;h=15b4687059b657343efcd22af02e0ab5d10d193c;hp=077dac86158748c377fa8181e8b0886661ebc301;hb=8f3613a31e2012374e00a6973f221421e0b770f0;hpb=0064c1fbff36795885a9724081af2a17d83c20a3 diff --git a/Classes/NJInput.m b/Classes/NJInput.m index 077dac8..15b4687 100644 --- a/Classes/NJInput.m +++ b/Classes/NJInput.m @@ -18,15 +18,37 @@ } - (id)findSubInputForValue:(IOHIDValueRef)value { - return NULL; + return nil; } - (NSString *)uid { - return [NSString stringWithFormat:@"%@~%@", [_base uid], _name]; + return [NSString stringWithFormat:@"%@~%@", _base.uid, _name]; } - (void)notifyEvent:(IOHIDValueRef)value { [self doesNotRecognizeSelector:_cmd]; } +- (BOOL)isEqual:(id)object { + return [object isKindOfClass:NJInput.class] + && [[object uid] isEqualToString:self.uid]; +} + +- (NSUInteger)hash { + return self.uid.hash; +} + +- (id )elementForUID:(NSString *)uid { + if ([uid isEqualToString:self.uid]) + return self; + else { + for (id elem in self.children) { + id ret = [elem elementForUID:uid]; + if (ret) + return ret; + } + } + return nil; +} + @end