Esempio n. 1
0
        public void AddOfftrackPenalty(DriverOfftrackLimit limit)
        {
            Penalty penalty;

            penalty        = Penalty.Create();
            penalty.Reason = "Ignoring track limits";
            penalty.Camera = CameraControl.GetCurrentCameraSessionTime();
            penalty.Lap    = limit.Driver.Driver.Live.Lap.ToString();
            SyncManager.Instance.State.Penalties.Add(penalty);

            // Create incident event
            var @event = new ReplayEvent();

            @event.Type    = ReplayEvent.EventTypes.Incident;
            @event.AdminId = SyncManager.Instance.UserId;
            @event.Camera  = penalty.Camera;
            // _mainModel.ReplayBarModel.AddEvent(@event);

            penalty.StartInvestigation(limit.Driver.Driver.Id, SyncManager.Instance.User);

            SyncManager.Instance.SendStateUpdate(SyncCommandHelper.AddPenalty(penalty));
        }
Esempio n. 2
0
        public void AddDriver(DriverContainer driver, PenaltyContainer parentPenalty = null)
        {
            Penalty penalty;

            if (parentPenalty == null)
            {
                penalty        = Penalty.Create();
                penalty.Camera = CameraControl.GetCurrentCameraSessionTime();
                penalty.Lap    = driver.Driver.Live.Lap.ToString();
                SyncManager.Instance.State.Penalties.Add(penalty);

                // Create incident event
                var @event = new ReplayEvent();
                @event.Type    = ReplayEvent.EventTypes.Incident;
                @event.AdminId = SyncManager.Instance.UserId;
                @event.Camera  = penalty.Camera;
                //_mainModel.ReplayBarModel.AddEvent(@event);
            }
            else
            {
                penalty = parentPenalty.Penalty;
            }

            penalty.StartInvestigation(driver.Driver.Id, SyncManager.Instance.User);

            if (parentPenalty == null)
            {
                SyncManager.Instance.SendStateUpdate(SyncCommandHelper.AddPenalty(penalty));
                EditPenalty(penalty);
            }
            else
            {
                SyncManager.Instance.SendPenaltyUpdate(penalty);
            }

            this.UpdatePenalties();
        }