private void playTyreWearMessages(Boolean isQueuedMessage, Boolean playGoodWearMessage) { TyreWearStatus knackeredTyres = getKnackeredTyreWearStatus(); TyreWearStatus wornTyres = getWornTyreWearStatus(); if (knackeredTyres == TyreWearStatus.NOT_TRIGGERED && wornTyres == TyreWearStatus.NOT_TRIGGERED) { if (playGoodWearMessage) { if (isQueuedMessage) { audioPlayer.queueClip(folderGoodWear, 1, this); } else { audioPlayer.openChannel(); audioPlayer.playClipImmediately(folderGoodWear, new QueuedMessage(0, this)); audioPlayer.closeChannel(); } } } else { lastReportedKnackeredTyreStatus = knackeredTyres; lastReportedWornTyreStatus = wornTyres; reportTyreWearStatus(knackeredTyres, isQueuedMessage); reportTyreWearStatus(wornTyres, isQueuedMessage); } }
private void reportTyreWearStatus(TyreWearStatus tyreWearStatus, Boolean isQueuedMessage) { String clipToPlay = null; switch (tyreWearStatus) { case TyreWearStatus.KNACKERED_ALL_ROUND: clipToPlay = folderKnackeredAllRound; break; case TyreWearStatus.KNACKERED_FRONTS: clipToPlay = folderKnackeredFronts; break; case TyreWearStatus.KNACKERED_REARS: clipToPlay = folderKnackeredRears; break; case TyreWearStatus.KNACKERED_LEFTS: clipToPlay = folderKnackeredLefts; break; case TyreWearStatus.KNACKERED_RIGHTS: clipToPlay = folderKnackeredRights; break; case TyreWearStatus.KNACKERED_LEFT_FRONT: clipToPlay = folderKnackeredLeftFront; break; case TyreWearStatus.KNACKERED_LEFT_REAR: clipToPlay = folderKnackeredLeftRear; break; case TyreWearStatus.KNACKERED_RIGHT_FRONT: clipToPlay = folderKnackeredRightFront; break; case TyreWearStatus.KNACKERED_RIGHT_REAR: clipToPlay = folderKnackeredRightRear; break; case TyreWearStatus.WORN_ALL_ROUND: clipToPlay = folderWornAllRound; break; case TyreWearStatus.WORN_FRONTS: clipToPlay = folderWornFronts; break; case TyreWearStatus.WORN_REARS: clipToPlay = folderWornRears; break; case TyreWearStatus.WORN_LEFTS: clipToPlay = folderWornLefts; break; case TyreWearStatus.WORN_RIGHTS: clipToPlay = folderWornRights; break; case TyreWearStatus.WORN_LEFT_FRONT: clipToPlay = folderWornLeftFront; break; case TyreWearStatus.WORN_LEFT_REAR: clipToPlay = folderWornLeftRear; break; case TyreWearStatus.WORN_RIGHT_FRONT: clipToPlay = folderWornRightFront; break; case TyreWearStatus.WORN_RIGHT_REAR: clipToPlay = folderWornRightRear; break; } if (clipToPlay != null) { if (isQueuedMessage) { audioPlayer.queueClip(clipToPlay, 0, this); } else { audioPlayer.playClipImmediately(clipToPlay, new QueuedMessage(0, this)); audioPlayer.closeChannel(); } } }
public override void clearState() { lastLapTyreTemps = null; thisLapTyreTemps = null; lastReportedStatus = TyreTempStatus.NO_DATA; lastReportedKnackeredTyreStatus = TyreWearStatus.NOT_TRIGGERED; lastReportedWornTyreStatus = TyreWearStatus.NOT_TRIGGERED; checkedTempsAtSector3 = false; leftFrontWear = 0; rightFrontWear = 0; leftRearWear = 0; rightRearWear = 0; reportedTyreWearForCurrentPitEntry = false; reportedEstimatedTimeLeft = false; }