Example #1
0
        /// <summary>
        /// Update preview.
        /// </summary>
        /// <param name="carId">Car ID.</param>
        /// <param name="skinId">Skin ID.</param>
        /// <param name="destination">Destination filename.</param>
        /// <param name="carData">Car data (provide it only if it’s already loaded, so Updater won’t load it again).</param>
        /// <param name="information">Some lines for EXIF data, optional.</param>
        /// <param name="callback">Callback in sync version? Because, with Delayed Convertation enabled, even sync version is not so sync.</param>
        public void Shot([NotNull] string carId, [NotNull] string skinId, string destination = null, DataWrapper carData = null, ImageUtils.ImageInformation information = null,
                         Action callback = null)
        {
            if (_carId != carId)
            {
                if (_renderer == null)
                {
                    _renderer = CreateRenderer(_acRoot, _options, GetCarDescription(carId, carData), skinId);
                }
                else
                {
                    _renderer.MainSlot.SetCar(GetCarDescription(carId, carData), skinId);
                }
                _carId = carId;
                UpdateCamera();
            }
            else
            {
                _renderer.SelectSkin(skinId);
            }

            _renderer.OnTick(float.MaxValue);
            ShotInner(carId, skinId, destination, information, callback);
        }