iRacingReplayOverlay.Phases.Direction.RuleBattle.GetBattlePosition C# (CSharp) Method

GetBattlePosition() private method

private GetBattlePosition ( iRacingSDK.DataSample data ) : BattleState
data iRacingSDK.DataSample
return BattleState
        BattleState GetBattlePosition(DataSample data)
        {
            if (isInBattle)
            {
                if (data.Telemetry.UnderPaceCar)
                    return new BattleState(BattlePosition.Finished);

                if (!HasBattleTimeout(data))
                    return new BattleState(BattlePosition.Inside);

                return SearchForNextBattle(data, notFound: () => new BattleState(BattlePosition.Finished) );
            }

            if (data.Telemetry.UnderPaceCar)
                return new BattleState(BattlePosition.Outside);

            return SearchForNextBattle(data, notFound: () => new BattleState(BattlePosition.Outside));
        }