Example #1
0
        protected void UpdateVehicleToCurrentStage()
        {
            PatternStageType type = currentStageData.Stage.Type;

            if (type == PatternStageType.None)
            {
                LeftHeadlight.SetActive(false);
                RightHeadlight.SetActive(false);

                LeftTailLight.SetActive(false);
                RightTailLight.SetActive(false);

                LeftBrakeLight.SetActive(false);
                RightBrakeLight.SetActive(false);
                MiddleBrakeLight.SetActive(false);
                return;
            }


            LeftHeadlight.SetActive((type & PatternStageType.LeftHeadlight) == PatternStageType.LeftHeadlight);
            RightHeadlight.SetActive((type & PatternStageType.RightHeadlight) == PatternStageType.RightHeadlight);

            LeftTailLight.SetActive((type & PatternStageType.LeftTailLight) == PatternStageType.LeftTailLight);
            RightTailLight.SetActive((type & PatternStageType.RightTailLight) == PatternStageType.RightTailLight);

            LeftBrakeLight.SetActive((type & PatternStageType.LeftBrakeLight) == PatternStageType.LeftBrakeLight);
            RightBrakeLight.SetActive((type & PatternStageType.RightBrakeLight) == PatternStageType.RightBrakeLight);
            MiddleBrakeLight.SetActive(false);
        }
Example #2
0
        private static bool ShouldEnableVehicleBrakeLightsForStage(Pattern.Stage stage)
        {
            PatternStageType t = stage.Type;

            if ((t & PatternStageType.LeftTailLight) == PatternStageType.LeftTailLight ||
                (t & PatternStageType.RightTailLight) == PatternStageType.RightTailLight ||
                (t & PatternStageType.LeftBrakeLight) == PatternStageType.LeftBrakeLight ||
                (t & PatternStageType.RightBrakeLight) == PatternStageType.RightBrakeLight)
            {
                return(true);
            }
            return(false);
        }
        protected PatternStageType GetSelectedStageTypeFromCheckBoxes()
        {
            PatternStageType type = PatternStageType.None;

            foreach (var item in checkBoxesByStageType)
            {
                if (item.Value.IsChecked.GetValueOrDefault())
                {
                    type |= item.Key;
                }
            }
            return(type);
        }
Example #4
0
        private void RenderStage()
        {
            PatternStageType type = currentStage.Type;

            LeftHeadlightEllipse.Visibility  = ((type & PatternStageType.LeftHeadlight) == PatternStageType.LeftHeadlight) ? Visibility.Visible : Visibility.Hidden;
            RightHeadlightEllipse.Visibility = ((type & PatternStageType.RightHeadlight) == PatternStageType.RightHeadlight) ? Visibility.Visible : Visibility.Hidden;

            LeftTailLightEllipse.Visibility  = ((type & PatternStageType.LeftTailLight) == PatternStageType.LeftTailLight) ? Visibility.Visible : Visibility.Hidden;
            RightTailLightEllipse.Visibility = ((type & PatternStageType.RightTailLight) == PatternStageType.RightTailLight) ? Visibility.Visible : Visibility.Hidden;

            LeftBrakeLightEllipse.Visibility  = ((type & PatternStageType.LeftBrakeLight) == PatternStageType.LeftBrakeLight) ? Visibility.Visible : Visibility.Hidden;
            RightBrakeLightEllipse.Visibility = ((type & PatternStageType.RightBrakeLight) == PatternStageType.RightBrakeLight) ? Visibility.Visible : Visibility.Hidden;
        }
        protected void OnStageTypeCheckBoxChecked(object sender, RoutedEventArgs e)
        {
            CheckBox cb = sender as CheckBox;

            if (cb != null)
            {
                PatternStageType type = (PatternStageType)cb.Content;
                if (type == PatternStageType.All)
                {
                    bool isChecked = cb.IsChecked.GetValueOrDefault();
                    foreach (var item in checkBoxesByStageType)
                    {
                        if (item.Key != PatternStageType.All)
                        {
                            item.Value.IsChecked = isChecked;
                        }
                    }
                }
                else
                {
                    bool isChecked = cb.IsChecked.GetValueOrDefault();
                    if (!isChecked && (PatternStageType)cb.Content != PatternStageType.All)
                    {
                        checkBoxesByStageType[PatternStageType.All].Unchecked -= OnStageTypeCheckBoxChecked;
                        checkBoxesByStageType[PatternStageType.All].IsChecked  = false;
                        checkBoxesByStageType[PatternStageType.All].Unchecked += OnStageTypeCheckBoxChecked;
                    }
                    else if (checkBoxesByStageType.Where(i => i.Key != PatternStageType.All).All(i => i.Value.IsChecked.GetValueOrDefault()))
                    {
                        checkBoxesByStageType[PatternStageType.All].IsChecked = true;
                    }
                }

                PatternStageType types = GetSelectedStageTypeFromCheckBoxes();
                Type = types;
            }
        }
Example #6
0
 public Stage(PatternStageType type, uint milliseconds)
 {
     Type         = type;
     Milliseconds = milliseconds;
 }
Example #7
0
 public Stage(PatternStageType type, uint milliseconds)
 {
     Type = type;
     Milliseconds = milliseconds;
 }