public static SyncStateCommand DeleteEvent(ReplayEvent @event) { var command = new SyncStateCommand(); command.StateUpdateType = SyncStateCommand.StateUpdateTypes.DeleteEvent; command.Data = new { Event = @event }; return command; }
public static SyncStateCommand DeleteEvent(ReplayEvent @event) { var command = new SyncStateCommand(); command.StateUpdateType = SyncStateCommand.StateUpdateTypes.DeleteEvent; command.Data = new { Event = @event }; return(command); }
public void AddCustomEvent() { var @event = new ReplayEvent(); @event.AdminId = SyncManager.Instance.UserId; @event.Camera = CameraControl.GetCurrentCameraSessionTime(); @event.Type = ReplayEvent.EventTypes.Interesting; this.AddEvent(@event); }
private void UpdateEvents() { this.Events.Clear(); #if DEBUG var debugEvents = new List<ReplayEvent>(); var ev = new ReplayEvent(); ev.AdminId = SyncManager.Instance.UserId; ev.Camera = CameraDetails.ChangeReplayTime(400, 4); ev.Type = ReplayEvent.EventTypes.Interesting; ev.Text = "Test event 1"; debugEvents.Add(ev); ev = new ReplayEvent(); ev.AdminId = SyncManager.Instance.UserId; ev.Camera = CameraDetails.ChangeReplayTime(500, 7); ev.Type = ReplayEvent.EventTypes.Incident; ev.Text = "Test event 2"; debugEvents.Add(ev); ev = new ReplayEvent(); ev.AdminId = SyncManager.Instance.UserId; ev.Camera = CameraDetails.ChangeReplayTime(850, 7); ev.Type = ReplayEvent.EventTypes.Interesting; ev.Text = "Test event 3"; debugEvents.Add(ev); foreach (var @event in debugEvents) { #else foreach (var @event in SyncManager.Instance.State.Events) { #endif var container = new ReplayEventContainer(@event); container.RelativePosition = @event.Camera.SessionTime/this.SessionTime; this.Events.Add(container); } this.UpdateEventPositions(); }
public void AddEvent(ReplayEvent @event) { var container = new ReplayEventContainer(@event); container.RelativePosition = @event.Camera.SessionTime / this.SessionTime; this.Events.Add(container); this.UpdateEventPosition(container); var command = SyncCommandHelper.AddEvent(@event); SyncManager.Instance.SendStateUpdate(command); }
private void UpdateEvent(ReplayEvent @event) { var existing = this.State.Events.SingleOrDefault(e => e.Id == @event.Id); if (existing != null) { this.State.Events.Remove(existing); } this.State.Events.Add(@event); }
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(); }
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 ReplayEventContainer(ReplayEvent @event) { _event = @event; this.Admin = SyncManager.Instance.Users.FromId(@event.AdminId); }