public AudicaTargetFailState TargetMissAim() { AudicaTargetFailState targetMiss = new AudicaTargetFailState(); SongCues.Cue cue = AudicaTargetStateManager.targetTracker.mLastEitherHandTarget.target.GetCue(); targetMiss.targetIndex = cue.index; targetMiss.type = this.cueToTargetType(cue); targetMiss.hand = this.cueToHand(cue); targetMiss.reason = "aim"; return(targetMiss); }
public AudicaTargetFailState TargetMissEarlyLate(float tick) { AudicaTargetFailState targetMiss = new AudicaTargetFailState(); SongCues.Cue cue = AudicaTargetStateManager.targetTracker.mLastEitherHandTarget.target.GetCue(); targetMiss.targetIndex = cue.index; targetMiss.type = this.cueToTargetType(cue); targetMiss.hand = this.cueToHand(cue); targetMiss.reason = tick < cue.tick ? "early" : "late"; return(targetMiss); }
public static void Postfix(float tick) { MelonLoader.MelonModLogger.Log("Target Miss (timing)!"); AudicaTargetFailState targetMiss = AudicaHTTPStatus.AudicaTargetState.TargetMissEarlyLate(tick); }
public static void Postfix() { MelonLoader.MelonModLogger.Log("Target Miss (aim)!"); AudicaTargetFailState targetMiss = AudicaHTTPStatus.AudicaTargetState.TargetMissAim(); // TODO: feed output into JSON parser then to HTTP server as websocket event }