Exemplo n.º 1
0
        /// <summary>
        /// Set state on a single light
        /// </summary>
        /// <param name="light"></param>
        /// <param name="rgb"></param>
        /// <param name="brightness"></param>
        /// <param name="timeSpan"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public static void SetState(this StreamingLight light, RGBColor?rgb = null, double?brightness = null, TimeSpan timeSpan = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken))
        {
            //Create a new transition for this light
            Transition transition = CreateTransition(rgb, brightness, timeSpan);

            light.Transitions.Add(transition);

            //Start the transition
            transition.Start(light.State.RGBColor, light.State.Brightness, cancellationToken);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Get the multiplier for an effect on a light
        /// </summary>
        /// <param name="effect"></param>
        /// <param name="light"></param>
        /// <returns></returns>
        public static double?GetEffectStrengthMultiplier(this BaseEffect effect, StreamingLight light)
        {
            var    distance   = Distance(effect, light.LightLocation);
            double?multiplier = effect.Radius - distance;

            multiplier = multiplier > 1 ? 1 : multiplier;
            multiplier = multiplier < 0 ? null : multiplier;

            return(multiplier);
        }
Exemplo n.º 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="light"></param>
 /// <param name="rgb"></param>
 /// <param name="timeSpan"></param>
 /// <param name="cancellationToken"></param>
 /// <returns></returns>
 public static void SetColor(this StreamingLight light, RGBColor rgb, TimeSpan timeSpan = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken))
 {
     light.SetState(rgb, null, timeSpan, cancellationToken);
 }
Exemplo n.º 4
0
 /// <summary>
 /// Brightness between 0 and 1
 /// </summary>
 /// <param name="light"></param>
 /// <param name="brightness">between 0 and 1</param>
 /// <param name="timeSpan"></param>
 /// <param name="cancellationToken"></param>
 public static void SetBrightness(this StreamingLight light, double brightness, TimeSpan timeSpan = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken))
 {
     light.SetState(null, brightness, timeSpan, cancellationToken);
 }
Exemplo n.º 5
0
 public HueUpdateQueue(IDeviceUpdateTrigger updateTrigger, string lightId, StreamingGroup group)
     : base(updateTrigger)
 {
     _light = group.First(l => l.Id == byte.Parse(lightId));
 }