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

IsActive() public method

public IsActive ( iRacingSDK.DataSample data ) : bool
data iRacingSDK.DataSample
return bool
        public bool IsActive(DataSample data)
        {
            var state = GetBattlePosition(data);

            switch(state.State)
            {
                case BattlePosition.Started:
                    directionAction = () =>
                    {
                        adjustedCamera = null;
                        SwitchToBattle(data, state.Driver, establishingShot: true);
                        editMarker.Start(data.Telemetry.Positions[battleLeader.CarIdx]);
                    };
                    return true;

                case BattlePosition.Inside:
                    directionAction = () =>
                    {
                        UpdateBattleCamera(data);
                        UpdateCameraIfOvertake(data);
                    };
                    return true;

                case BattlePosition.Finished:
                    directionAction = () => editMarker.Stop();
                    return true;

                case BattlePosition.Outside:
                    directionAction = () => { };
                    return false;
            }

            throw new Exception("Invalid Battle state {0}".F(state));
        }