Ejemplo n.º 1
0
        public void HandleUIUpdateMessage(IUIUpdateMessage anUpdateMessage)
        {
            if (anUpdateMessage is BulkRefreshDataUIUpdateMessage)
            {
                var b = (BulkRefreshDataUIUpdateMessage)anUpdateMessage;

                foreach (var item in b.ListOfUIUpdateMessages)
                {
                    HandleUIUpdateMessage(item, false);
                }

                myDGV.AutoResizeRows();
                ResetBS();
            }
            else
            {
                HandleUIUpdateMessage(anUpdateMessage, true);
            }
        }
        public void HandleUIUpdateMessage(IUIUpdateMessage anUpdateMessage)
        {
            if (anUpdateMessage is BulkRefreshDataUIUpdateMessage)
            {
                // bulk messages is the list of messages the control receives when it is loaded
                //i.e. if the user opens the control in the middle of the race, it will receive the messages from
                //the beginning to the current time
                var b = (BulkRefreshDataUIUpdateMessage)anUpdateMessage;

                foreach (var item in b.ListOfUIUpdateMessages)
                {
                    HandleUIUpdateMessage(item, false);
                }

                myDGV.AutoResizeRows();
                ResetBS();
            }
            else
            {
                //Handle a single message
                HandleUIUpdateMessage(anUpdateMessage, true);
            }
        }
Ejemplo n.º 3
0
 public void ReceiveUIUpdateMessage(IUIUpdateMessage anUpdateMessage)
 {
     myScoreboardControl.HandleUIUpdateMessage(anUpdateMessage);
 }
        public void HandleUIUpdateMessage(IUIUpdateMessage anUpdateMessage, bool anAllowRefresh)
        {
            if (anUpdateMessage is CarUIUpdateMessage)
            {
                myUICarManager.HandleCarUIUpdateMessage((CarUIUpdateMessage)anUpdateMessage);
            }
            else if (anUpdateMessage is TrackUIUpdateMessage)
            {
                base.HandleTrackUIUpdateMessage((TrackUIUpdateMessage)anUpdateMessage);
            }
            else if (anUpdateMessage is PositionUIUpdateMessage)
            {
                PositionUIUpdateMessage m = (PositionUIUpdateMessage)anUpdateMessage;

                foreach (ScoreboardDataContainer item in myList.OriginalList) // to access all the rows in the dgv you have to loop through myList.OriginalList
                {
                    if (item.CarID == m.ItemID)
                    {
                        if (m.PosType == PositionUIUpdateMessage.PositionType.Overall)
                        {
                            UpdateTimeDataTypeValue(item.Position, item, nameof(item.Position), m.Position);
                        }
                        else
                        {
                            item.PositionInClass = m.Position;
                        }

                        return;
                    }
                }
            }
            else if (anUpdateMessage is CategoryUIUpdateMessage)
            {
                HandleCategoryUIUpdateMessage((CategoryUIUpdateMessage)anUpdateMessage);
            }
            else if (anUpdateMessage is ResetUIUpdateMessage)
            {
                base.HandleResetUIUpdateMessage();
                myUICarManager.Reset();
            }
            else if (anUpdateMessage is UserOptionsUIUpdateMessage)
            {
                HandleOptionsUIMessage((UserOptionsUIUpdateMessage)anUpdateMessage);
            }

            else if (anUpdateMessage is LapUIUpdateMessage lapMsg)
            {
                HandleLapUIUpdateMessage(lapMsg);
            }

            else if (anUpdateMessage is SectorUIUpdateMessage sectorMsg)
            {
                HandleSectorUIUpdateMessage(sectorMsg);
            }

            else if (anUpdateMessage is SessionStatusUIUpdateMessage sessionMsg)
            {
                HandleSessionStatusUIUpdateMessage(sessionMsg);
            }

            else if (anUpdateMessage is UserDefinedSessionLengthUIUpdateMessage sessionLengthMsg)
            {
                HandleUserDefinedSessionLengthUIUpdateMessage(sessionLengthMsg);
            }
        }
 public void ReceiveUIUpdateMessage(IUIUpdateMessage anUpdateMessage)
 {
     //this void handles all the messages coming from HHtiming,
     //In this case we let the scoreboard control handle the messages of interest
     myScoreboardControl.HandleUIUpdateMessage(anUpdateMessage);
 }