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)); }
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(); }