public ConfirmCameraSyncWindow(UserContainer admin, CameraDetails camera)
        {
            InitializeComponent();

            var driver = Simulator.Instance.Drivers.FirstOrDefault(d => d.Driver.CarNumberRaw == camera.CarNumber);

            var sync = new CameraSync(admin, driver, camera);
            this.DataContext = sync;
        }
 public static SyncCommand ProposeSyncCameras(List<User> admins, CameraDetails camera)
 {
     var command = new SyncCommand(SyncCommand.CommandTypes.ProposeSyncCameras);
     command.Data = new
                    {
                        Users = admins,
                        CameraDetails = camera,
                        Force = false,
                        ProposingAdmin = SyncManager.Instance.User.CustId
                    };
     return command;
 }
Exemple #3
0
        public static SyncCommand ProposeSyncCameras(List <User> admins, CameraDetails camera)
        {
            var command = new SyncCommand(SyncCommand.CommandTypes.ProposeSyncCameras);

            command.Data = new
            {
                Users          = admins,
                CameraDetails  = camera,
                Force          = false,
                ProposingAdmin = SyncManager.Instance.User.CustId
            };
            return(command);
        }
            public CameraSync(UserContainer admin, DriverContainer driver, CameraDetails camera)
            {
                this.Admin = admin;
                this.Driver = driver;
                this.Camera = camera;

                if (camera.ReplayChangeType == CameraDetails.ReplayChangeTypes.SetReplayFrame)
                {
                    var seconds = Simulator.Instance.Telemetry.SessionTime.Value - (camera.Frame/60f);
                    var time = TimeSpan.FromSeconds(seconds);
                    this.SessionTime = string.Format("{0:0}:{1:00}:{2:00}", time.Hours, time.Minutes, time.Seconds);
                }
                else if (camera.ReplayChangeType == CameraDetails.ReplayChangeTypes.SetSessionTime)
                {
                    var time = TimeSpan.FromSeconds(camera.SessionTime);
                    this.SessionTime = string.Format("{0:0}:{1:00}:{2:00}", time.Hours, time.Minutes, time.Seconds);
                }
            }
        public static void ChangeCamera(CameraDetails camera)
        {
            if (!Simulator.Instance.Sdk.IsConnected) return;
            if (Connection.Instance.IsSimulated) return;

            var driver = GetFollowedDriver();
            if (driver == null) return;

            if (camera.CarNumber < 0) camera.CarNumber = driver.Driver.CarNumberRaw;

            // Change camera
            Simulator.Instance.Sdk.Sdk.BroadcastMessage(BroadcastMessageTypes.CamSwitchNum, camera.CarNumber, -1);

            if (camera.ReplayChangeType == CameraDetails.ReplayChangeTypes.SetReplayFrame)
            {
                ChangeReplayFrame(camera.Frame);
            }
            else if (camera.ReplayChangeType == CameraDetails.ReplayChangeTypes.SetSessionTime)
            {
                ChangeReplayTime(camera.SessionTime);
            }
        }