Exemplo n.º 1
0
        public void Show(int msPerPage, ResultsMode mode)
        {
            Mode               = mode;
            pageIndex          = 0;
            pageTimer.Interval = (double)msPerPage;
            Module             = API.Instance.FindModule("LiveStandings") as LiveStandingsModule;
            DriverModule       = API.Instance.FindModule("DriverModule") as DriverModule;

            SessionTimerModule stm = API.Instance.FindModule("SessionTimer") as SessionTimerModule;
            SessionsModule     sm  = API.Instance.FindModule("Sessions") as SessionsModule;

            Race_Title.Text = sm.Track.DisplayName;

            switch (stm.SessionType)
            {
            case SessionType.LapRace:
                Announcement.Text = "Race Classification after " + stm.LapsTotal + " Laps";
                break;

            case SessionType.TimeRace:
                Announcement.Text = "Race Classification";
                break;

            case SessionType.Qualifying:
                Announcement.Text = "Qualifying Classification";
                break;

            case SessionType.Practice:
                Announcement.Text = "Practice Classification";
                break;

            case SessionType.TimeTrial:
                Announcement.Text = "TimeTrial Classification";
                break;

            default:
                Announcement.Text = "ERROR!";
                break;
            }

            Sof.Text = DriverModule.SoF.ToString() + " SoF";

            Storyboard sb = FindResource("FadeInHeader") as Storyboard;

            sb.Begin();

            LoadPage();
            pageTimer.Start();
        }
Exemplo n.º 2
0
        private void ShowTabs(object sender, EventArgs e)
        {
            SessionTimerModule sTModule = (SessionTimerModule)api.FindModule("SessionTimer");

            if (sTModule.SessionType == SessionType.LapRace || sTModule.SessionType == SessionType.TimeRace)
            {
                Race.Visibility     = Visibility.Visible;
                Practice.Visibility = Visibility.Hidden;
            }
            else
            {
                Race.Visibility     = Visibility.Hidden;
                Practice.Visibility = Visibility.Visible;
            }
        }
Exemplo n.º 3
0
        public void FadeIn()
        {
            if (Active)
            {
                return;
            }

            Module = (SessionTimerModule)API.Instance.FindModule("SessionTimer");
            SessionMode mode = SessionMode.TimeMode;

            if (Module.SessionState == SessionState.Racing && Module.SessionType == SessionType.LapRace)
            {
                mode = SessionMode.LapMode;
            }

            if (mode == SessionMode.LapMode)
            {
                SwitchToLap();
                UpdateLaps(0, Module.LapsTotal);
            }
            else
            {
                SwitchToTime();
                UpdateTime(Module.TimeTotal);
            }

            Active = true;
            Storyboard sb;

            if (Mode == SessionMode.LapMode)
            {
                sb = FindResource("FadeInLap") as Storyboard;
            }
            else
            {
                sb = FindResource("FadeInTime") as Storyboard;
            }
            sb.Begin();

            if (State == SessionTimerState.SafetyCar)
            {
                sb = FindResource("SafetyCarFadeIn") as Storyboard;
                sb.Begin();
            }
        }
Exemplo n.º 4
0
        private void updateControls(object sender, EventArgs e)
        {
            if (!api.IsConnected || CameraModule == null || DriverModule == null)
            {
                return;
            }

            bool oldAutoCommit = autoCommit;

            autoCommit = false;

            ComboBoxItem cboxitem;

            if (cameraUpdate)
            {
                if (CameraModule.Cameras.Count > 0)
                {
                    cameraSelectComboBox.Items.Clear();
                    foreach (Camera cam in CameraModule.Cameras)
                    {
                        cboxitem         = new ComboBoxItem();
                        cboxitem.Content = cam.Name;
                        cboxitem.Tag     = cam.Id;
                        cameraSelectComboBox.Items.Add(cboxitem);
                        if (cam.Id == CameraModule.CurrentCamera)
                        {
                            cameraSelectComboBox.SelectedItem = cboxitem;
                        }
                    }
                }
            }

            if (driverUpdate)
            {
                driverSelect.Items.Clear();

                cboxitem         = new ComboBoxItem();
                cboxitem.Content = "Most exiting";
                cboxitem.Tag     = -1;
                driverSelect.Items.Add(cboxitem);

                cboxitem         = new ComboBoxItem();
                cboxitem.Content = "Leader";
                cboxitem.Tag     = -2;
                driverSelect.Items.Add(cboxitem);

                cboxitem         = new ComboBoxItem();
                cboxitem.Content = "Crashes";
                cboxitem.Tag     = -3;
                driverSelect.Items.Add(cboxitem);

                IEnumerable <Driver> dQuery = DriverModule.OrderDriversByNumberPlate();

                foreach (Driver driver in dQuery)
                {
                    cboxitem         = new ComboBoxItem();
                    cboxitem.Content = driver.Car.CarNumber + " " + driver.FullName;
                    cboxitem.Tag     = padCarNum(driver.Car.CarNumber);
                    driverSelect.Items.Add(cboxitem);
                    if (driver.CarIndex == CameraModule.FollowedDriver)
                    {
                        driverSelect.SelectedItem = cboxitem;
                    }
                }
            }

            if ((api != null) && api.IsConnected && (api.GetData("ReplayPlaySpeed") != null))
            {
                int playspeed = (int)api.GetData("ReplayPlaySpeed");
                if (playspeed != 1)
                {
                    playButton.Content = "4";
                }
                else
                {
                    playButton.Content = ";";
                }
            }

            autoCommit = oldAutoCommit;

            SessionTimerModule stm = api.FindModule("SessionTimer") as SessionTimerModule;

            if (stm.SessionType == SessionType.LapRace || stm.SessionType == SessionType.TimeRace)
            {
                QualiTimeOnly.IsEnabled    = true;
                QualiTimeWithGap.IsEnabled = true;
                Improvements.IsEnabled     = true;
            }
            else
            {
                QualiTimeOnly.IsEnabled    = false;
                QualiTimeWithGap.IsEnabled = false;
                Improvements.IsEnabled     = false;
            }

            if (canUpdateDO1)
            {
                int tag = int.Parse(DriverOverviewDriver1.SelectedValue.ToString());

                DriverOverviewDriver1.Items.Clear();

                ComboBoxItem item = new ComboBoxItem();
                item.Tag     = -1;
                item.Content = "No Driver";

                DriverOverviewDriver1.Items.Add(item);
                if ((int)item.Tag == tag)
                {
                    DriverOverviewDriver1.SelectedItem = item;
                }

                IEnumerable <Driver> dQuery = DriverModule.OrderDriversByNumberPlate();
                foreach (Driver driver in dQuery)
                {
                    item         = new ComboBoxItem();
                    item.Content = driver.Car.CarNumber + " " + driver.FullName;
                    item.Tag     = driver.CarIndex;
                    DriverOverviewDriver1.Items.Add(item);
                    if ((int)item.Tag == tag)
                    {
                        DriverOverviewDriver1.SelectedItem = item;
                    }
                }
            }

            if (canUpdateDO2)
            {
                int tag = int.Parse(DriverOverviewDriver2.SelectedValue.ToString());

                DriverOverviewDriver2.Items.Clear();

                ComboBoxItem item = new ComboBoxItem();
                item.Tag     = -1;
                item.Content = "No Driver";

                DriverOverviewDriver2.Items.Add(item);
                if ((int)item.Tag == tag)
                {
                    DriverOverviewDriver2.SelectedItem = item;
                }

                IEnumerable <Driver> dQuery = DriverModule.OrderDriversByNumberPlate();
                foreach (Driver driver in dQuery)
                {
                    item         = new ComboBoxItem();
                    item.Content = driver.Car.CarNumber + " " + driver.FullName;
                    item.Tag     = driver.CarIndex;
                    DriverOverviewDriver2.Items.Add(item);
                    if ((int)item.Tag == tag)
                    {
                        DriverOverviewDriver2.SelectedItem = item;
                    }
                }
            }

            if (canUpdateFp)
            {
                int tag = 1;
                if (FirstPos.SelectedValue != null)
                {
                    tag = int.Parse(FirstPos.SelectedValue.ToString());
                }

                FirstPos.Items.Clear();

                ComboBoxItem item;
                for (int i = 1; i <= DriverModule.Drivers.Count; i++)
                {
                    item         = new ComboBoxItem();
                    item.Tag     = i;
                    item.Content = i.ToString();
                    FirstPos.Items.Add(item);
                    if ((int)item.Tag == tag)
                    {
                        FirstPos.SelectedItem = item;
                    }
                }
            }
        }
Exemplo n.º 5
0
        public void FadeIn(DriverInfoMode mode)
        {
            if (cameraModule == null)
            {
                cameraModule = TMTVO.Controller.TMTVO.Instance.Api.FindModule("CameraModule") as CameraModule;
            }

            if (standingsModule == null)
            {
                standingsModule = TMTVO.Controller.TMTVO.Instance.Api.FindModule("LiveStandings") as LiveStandingsModule;
            }

            if (sessionTimer == null)
            {
                sessionTimer = TMTVO.Controller.TMTVO.Instance.Api.FindModule("SessionTimer") as SessionTimerModule;
            }

            if (Active)
            {
                return;
            }

            int camIndex = cameraModule.FollowedDriver;

            driver = standingsModule.FindDriver(camIndex);
            if (driver == null)
            {
                return;
            }

            Active    = true;
            this.mode = mode;

            DriversName.Text   = driver.Driver.LastUpperName;
            TeamCarName.Text   = Controller.TMTVO.Instance.Cars.GetValue(driver.Driver.Car.CarName);
            DriversNumber.Text = driver.Driver.Car.CarNumber;
            NumberPlate.Fill   = new SolidColorBrush(driver.Driver.LicColor);

            Storyboard sb = FindResource("FadeInName") as Storyboard;

            sb.Begin();

            if (mode != DriverInfoMode.NameOnly)
            {
                int position = 0;
                if (mode == DriverInfoMode.QualiTimeOnly || mode == DriverInfoMode.QualiTimeWithGap)
                {
                    position = GridModule.FindDriverStatic(driver).Position;
                }
                else
                {
                    position = driver.PositionLive;
                }

                if (position == 1)
                {
                    BackgroundLeader.Visibility = Visibility.Visible;
                }
                else
                {
                    BackgroundLeader.Visibility = Visibility.Hidden;
                }

                Position.Text = position.ToString("0");
                (FindResource("FadeInPosition") as Storyboard).Begin();
                pActive = true;
            }

            if (mode == DriverInfoMode.Improvements)
            {
                BestTime.Text = driver.FastestLapTime.ConvertToTimeString();
                LastTime.Text = driver.LastLapTime.ConvertToTimeString();

                int improvement = GridModule.FindDriverStatic(camIndex).Position - driver.PositionLive;
                if (improvement < 0)
                {
                    Improvement.Text = (-improvement).ToString("0");
                    ImpAngle.Angle   = lostAngle;
                    ImpTriangle.Fill = lostBrush;
                }
                else if (improvement == 0)
                {
                    Improvement.Text = "0";
                    ImpAngle.Angle   = neutralAngle;
                    ImpTriangle.Fill = neutralBrush;
                }
                else
                {
                    Improvement.Text = improvement.ToString("0");
                    ImpAngle.Angle   = improvedAngle;
                    ImpTriangle.Fill = improvedBrush;
                }

                (FindResource("FadeInImprovements") as Storyboard).Begin();
                bActive = true;
            }

            if (mode == DriverInfoMode.FastestLapTimeOnly || mode == DriverInfoMode.FastestLapTimeWithGap || mode == DriverInfoMode.QualiTimeOnly || mode == DriverInfoMode.QualiTimeWithGap)
            {
                FastestTime.Text = ((mode == DriverInfoMode.QualiTimeOnly || mode == DriverInfoMode.QualiTimeWithGap) ? GridModule.FindDriverStatic(camIndex).QualiTime : driver.FastestLapTime).ConvertToTimeString();
                (FindResource("FadeInFastestLap") as Storyboard).Begin();
                fActive = true;
            }

            if (mode == DriverInfoMode.FastestLapTimeWithGap || mode == DriverInfoMode.QualiTimeWithGap)
            {
                if (mode == DriverInfoMode.FastestLapTimeWithGap)
                {
                    Gap.Text = "+" + (driver.FastestLapTime - standingsModule.Leader.FastestLapTime).ConvertToTimeString();
                }
                else
                {
                    Gap.Text = "+" + (GridModule.FindDriverStatic(camIndex).QualiTime - GridModule.GetLeader().QualiTime).ConvertToTimeString();
                }

                (FindResource("FadeInGap") as Storyboard).Begin();
                gActive = true;
            }
        }