Example #1
0
        private void Window_Loaded()
        {
            List <String> ls = iuc.GetStepNameCollection();

            ls.Remove(iuc.GetStepName());
            int position = -1;

            if (!stepName.Equals(String.Empty))
            {
                position = ls.IndexOf(stepName);
            }
            for (int i = 0; i < ls.Count; i++)
            {
                cbLightName.Items.Add(ls[i]);
            }
            if (ls.Count > 0)
            {
                if (position == -1)
                {
                    cbLightName.SelectedIndex = 0;
                }
                else
                {
                    cbLightName.SelectedIndex = position;
                    if (type == CollectionType.Intersection)
                    {
                        cbType.SelectedIndex = 1;
                    }
                    else if (type == CollectionType.Complement)
                    {
                        cbType.SelectedIndex = 2;
                    }
                }
            }
        }
        private List <Light> GetRealData(List <Light> mLightList)
        {
            if (!iuc.finalDictionary.ContainsKey(iuc.GetStepName()))
            {
                return(mLightList);
            }
            //没有可操作的灯光组
            if (!iuc.lightScriptDictionary[iuc.GetStepName()].Contains(iuc.GetStepName() + "LightGroup"))
            {
                return(mLightList);
            }
            String[]      contents = iuc.finalDictionary[iuc.GetStepName()].Split(';');
            StringBuilder command  = new StringBuilder();

            foreach (String str in contents)
            {
                if (str.Equals(String.Empty))
                {
                    continue;
                }
                String[] strs      = str.Split('=');
                String   type      = strs[0];
                String[] _contents = strs[1].Split(',');

                if (type.Equals("Color"))
                {
                    foreach (String _str in _contents)
                    {
                        String[] mContents = _str.Split('-');
                        if (mContents[0].Equals("Format"))
                        {
                            if (mContents[1].Equals("Green"))
                            {
                                //mLightList = LightGroupMethod.SetColor(mLightList,new List<int>() { 73,74,75,76 });
                            }
                            if (mContents[1].Equals("Blue"))
                            {
                                //mLightList = LightGroupMethod.SetColor(mLightList, new List<int>() { 33, 37, 41, 45 });
                            }
                            if (mContents[1].Equals("Pink"))
                            {
                                //mLightList = LightGroupMethod.SetColor(mLightList, new List<int>() { 4, 94, 53, 57 });
                            }
                            if (mContents[1].Equals("Diy"))
                            {
                                List <int> intColors = new List <int>();
                                String[]   strColors = mContents[2].Split(' ');
                                for (int i = 0; i < strColors.Length; i++)
                                {
                                    intColors.Add(int.Parse(strColors[i]));
                                }
                                //mLightList = LightGroupMethod.SetColor(mLightList, intColors);
                            }
                        }
                        else if (mContents[0].Equals("Shape"))
                        {
                            if (mContents[1].Equals("Square"))
                            {
                                //mLightList = EditMethod.ShapeColor(mLightList,EditMethod.ShapeColorType.Square, mContents[2]);
                            }
                            else if (mContents[1].Equals("RadialVertical"))
                            {
                                //mLightList = EditMethod.ShapeColor(mLightList, EditMethod.ShapeColorType.RadialVertical, mContents[2]);
                            }
                            else if (mContents[1].Equals("RadialHorizontal"))
                            {
                                //mLightList = EditMethod.ShapeColor(mLightList, EditMethod.ShapeColorType.RadialHorizontal, mContents[2]);
                            }
                        }
                    }
                }
                if (type.Equals("Shape"))
                {
                    foreach (String _str in _contents)
                    {
                        if (_str.Equals("HorizontalFlipping"))
                        {
                            //mLightList = EditMethod.HorizontalFlipping(mLightList);
                        }
                        if (_str.Equals("VerticalFlipping"))
                        {
                            //mLightList = EditMethod.VerticalFlipping(mLightList);
                        }
                        if (_str.Equals("Clockwise"))
                        {
                            //mLightList = EditMethod.Clockwise(mLightList);
                        }
                        if (_str.Equals("AntiClockwise"))
                        {
                            //mLightList = EditMethod.AntiClockwise(mLightList);
                        }
                    }
                }
                if (type.Equals("Time"))
                {
                    foreach (String _str in _contents)
                    {
                        if (_str.Equals("Reversal"))
                        {
                            //mLightList = EditMethod.Reversal(mLightList);
                        }
                        String[] mContents = _str.Split('-');
                        if (mContents[0].Equals("ChangeTime"))
                        {
                            //mLightList = EditMethod.ChangeTime(mLightList,(EditMethod.Operator)int.Parse(mContents[1]),double.Parse(mContents[2]));
                        }
                        else if (mContents[0].Equals("StartTime"))
                        {
                            //mLightList = LightGroupMethod.SetStartTime(mLightList, int.Parse(mContents[1]));
                        }
                        else if (mContents[0].Equals("AllTime"))
                        {
                            //mLightList = LightGroupMethod.SetAllTime(mLightList, int.Parse(mContents[1]));
                        }
                    }
                }
                if (type.Equals("ColorOverlay"))
                {
                    foreach (String _str in _contents)
                    {
                        String[]   mContents = _str.Split('-');
                        List <int> intColors = new List <int>();
                        String[]   strColors = mContents[1].Split(' ');
                        for (int x = 0; x < strColors.Length; x++)
                        {
                            intColors.Add(int.Parse(strColors[x]));
                        }
                        if (mContents[0].Equals("true"))
                        {
                            //mLightList = EditMethod.CopyToTheFollow(mLightList, intColors);
                        }
                        else
                        {
                            //mLightList = EditMethod.CopyToTheEnd(mLightList, intColors);
                        }
                    }
                }
                if (type.Equals("SportOverlay"))
                {
                    foreach (String _str in _contents)
                    {
                        String[] mContents = _str.Split('-');

                        List <int> intColors = new List <int>();
                        String[]   strColors = mContents[0].Split(' ');
                        for (int x = 0; x < strColors.Length; x++)
                        {
                            intColors.Add(int.Parse(strColors[x]));
                        }
                        //mLightList = EditMethod.AccelerationOrDeceleration(mLightList, intColors);
                    }
                }
                if (type.Equals("Other"))
                {
                    foreach (String _str in _contents)
                    {
                        if (_str.Equals("RemoveBorder"))
                        {
                            // mLightList = EditMethod.RemoveBorder(mLightList);
                        }
                    }
                }
            }
            return(mLightList);
        }