Exemplo n.º 1
0
        private async void TurnOnAllLights()
        {
            LightToggle.IsHitTestVisible = false;
            LightToggle.Opacity          = 0.5;

            await BridgeManager.Instance.TurnOnAllLightsAsync();

            LightToggle.Opacity          = 1;
            LightToggle.IsHitTestVisible = true;

            UpdateLightControlLabel();
            BridgeAnimation.Begin();
        }
Exemplo n.º 2
0
        private void OnLightsOnOffChanged(object sender, EventArgs e)
        {
            UpdateLightControlLabel();

            int onCount = BridgeManager.Instance.GetActiveLightCount();

            if (onCount > 0)
            {
                BridgeAnimation.Begin();
            }
            else
            {
                BridgeAnimation.Stop();
            }
        }
Exemplo n.º 3
0
        public void UpdateLightWidgets()
        {
            RingGrid.Children.Clear();

            if (BridgeManager.Instance.CurrentBridge.LightList.Count == 0)
            {
                LightControlLabel.Text = LightNoneText;
                return;
            }

            var radius    = (this.Width - OutterRing.Margin.Left - OutterRing.Margin.Right) / 2;
            var angleStep = Math.PI * 2 / BridgeManager.Instance.CurrentBridge.LightList.Count;

            int i = 0;

            foreach (var light in BridgeManager.Instance.CurrentBridge.LightList)
            {
                var indicator = new LightIndicatorControl();
                indicator.Width       = 10;
                indicator.Height      = 10;
                indicator.LightSource = light;

                RingGrid.Children.Add(indicator);

                // Position the light indicator
                double angle = i * angleStep;
                var    tf    = new TranslateTransform();

                tf.X = radius * Math.Cos(angle);
                tf.Y = radius * Math.Sin(angle);
                indicator.RenderTransform = tf;

                i++;
            }

            UpdateLightControlLabel();

            int onCount = BridgeManager.Instance.GetActiveLightCount();

            if (onCount > 0)
            {
                BridgeAnimation.Begin();
            }
        }
 /// <summary>
 /// Invoked when this page is about to be displayed in a Frame.
 /// </summary>
 /// <param name="e">Event data that describes how this page was reached.
 /// This parameter is typically used to configure the page.</param>
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     BridgeAnimation.Begin();
     TryRegisterUser();
 }