예제 #1
0
        public ParentCard(MyFlower[] parent)
        {
            List <MyFlower> Flowers = FlowerHelper.GetFlowerPart(parent[0].GetFlowerType());

            foreach (var f in Flowers)
            {
                if (f.A1 == parent[0].A1 && f.A2 == parent[0].A2 && f.A3 == parent[0].A3 && f.A4 == parent[0].A4)
                {
                    FlowerLeft = f;
                }
                if (f.A1 == parent[1].A1 && f.A2 == parent[1].A2 && f.A3 == parent[1].A3 && f.A4 == parent[1].A4)
                {
                    FlowerRight = f;
                }
            }
        }
예제 #2
0
        private void ComboBoxChoose_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox cb = sender as ComboBox;

            GlobalTool.SelectedFlower = (FlowerType)cb.SelectedIndex + 1;

            GlobalTool.ListColorDic = new List <MyFlower>();
            GlobalTool.ListColorDic = FlowerHelper.GetFlowerPart(GlobalTool.SelectedFlower);

            GlobalTool.ListColor     = new List <string>();
            GlobalTool.ListColorName = new List <string>();
            GlobalTool.ListColor.Add("");
            GlobalTool.ListColorName.Add("无");
            foreach (var a in GlobalTool.ListColorDic)
            {
                if (!GlobalTool.ListColor.Contains(a.Color) && a.Color != "Unknown")
                {
                    GlobalTool.ListColor.Add(a.Color);
                    MyColor mc = (MyColor)Enum.Parse(typeof(MyColor), a.Color);
                    GlobalTool.ListColorName.Add(FlowerHelper.ColorNameShow[mc]);
                }
            }
        }
예제 #3
0
        public MyColor GetColor()
        {
            var ml = FlowerHelper.GetFlowerPart(type);

            for (int i = 0; i < ml.Count; i++)
            {
                if ((Gene)a4 != Gene.Unknown)
                {
                    if (a1 == Convert.ToInt32(ml[i].A1) && a2 == Convert.ToInt32(ml[i].A2) && a3 == Convert.ToInt32(ml[i].A3) && a4 == Convert.ToInt32(ml[i].A4))
                    {
                        return((MyColor)Enum.Parse(typeof(MyColor), ml[i].Color));
                    }
                }
                else
                {
                    if (a1 == Convert.ToInt32(ml[i].A1) && a2 == Convert.ToInt32(ml[i].A2) && a3 == Convert.ToInt32(ml[i].A3))
                    {
                        return((MyColor)Enum.Parse(typeof(MyColor), ml[i].Color));
                    }
                }
            }
            return(MyColor.Unknown);
        }
예제 #4
0
        private void GroupChanged(object sender, SelectionChangedEventArgs e)
        {
            GlobalTool.ChangeZajiaoComboBox(sender);

            ComboBox cb = sender as ComboBox;

            string senderName = cb.Name;

            switch (senderName)
            {
            case "ComboBoxChoose":
            {
                SelectedFlower = (FlowerType)cb.SelectedIndex + 1;

                TextBlockTypeL.Text = FlowerHelper.FlowerNameShow[SelectedFlower];
                TextBlockTypeR.Text = TextBlockTypeL.Text;

                ListColorDic = new List <MyFlower>();
                ListColorDic = FlowerHelper.GetFlowerPart(SelectedFlower);

                ListColor     = new List <string>();
                ListColorName = new List <string>();
                ListColor.Add("");
                ListColorName.Add("无");
                foreach (var a in ListColorDic)
                {
                    if (!ListColor.Contains(a.Color) && a.Color != "Unknown")
                    {
                        ListColor.Add(a.Color);
                        MyColor mc = (MyColor)Enum.Parse(typeof(MyColor), a.Color);
                        ListColorName.Add(FlowerHelper.ColorNameShow[mc]);
                    }
                }

                ComboBoxColorL.SelectionChanged -= GroupChanged;
                ComboBoxColorR.SelectionChanged -= GroupChanged;
                ComboBoxColorL.ItemsSource       = ListColorName;
                ComboBoxColorR.ItemsSource       = ListColorName;
                ComboBoxColorL.SelectedIndex     = 0;
                ComboBoxColorR.SelectedIndex     = 0;
                ComboBoxColorL.SelectionChanged += GroupChanged;
                ComboBoxColorR.SelectionChanged += GroupChanged;
                ComboBoxColorL.SelectedIndex     = 1;
                ComboBoxColorR.SelectedIndex     = 1;

                CheckBoxColorL.IsChecked = true;
                CheckBoxColorR.IsChecked = true;

                //需要在选定花朵之后绑定种子
                BindSeed();
            }
            break;

            case "ComboBoxColorL":
            {
                if (cb.SelectedIndex == 0)
                {
                    return;
                }

                SelectedColorL = (MyColor)Enum.Parse(typeof(MyColor), ListColor[cb.SelectedIndex]);

                TextBlockColorL.Text       = FlowerHelper.ColorNameShow[SelectedColorL];
                TextBlockColorL.Foreground = new SolidColorBrush(FlowerHelper.ColorShow[SelectedColorL]);
                ImageFlowerL.Source        = new BitmapImage(new Uri("/Assets/" + SelectedFlower.ToString() + SelectedColorL.ToString() + ".png", UriKind.Relative));

                string s = "";
                SelectedColorDicL = new List <MyFlower>();
                foreach (var a in ListColorDic)
                {
                    if (a.Color == ListColor[cb.SelectedIndex])
                    {
                        SelectedColorDicL.Add(a);
                        string n = a.GetGeneName();
                        if (!s.Contains(n))
                        {
                            s += n + " ";
                        }
                    }
                }
                TextBlockGeneL.Text = s;
            }
            break;

            case "ComboBoxColorR":
            {
                if (cb.SelectedIndex == 0)
                {
                    return;
                }

                SelectedColorR = (MyColor)Enum.Parse(typeof(MyColor), ListColor[cb.SelectedIndex]);

                TextBlockColorR.Text       = FlowerHelper.ColorNameShow[SelectedColorR];
                TextBlockColorR.Foreground = new SolidColorBrush(FlowerHelper.ColorShow[SelectedColorR]);
                ImageFlowerR.Source        = new BitmapImage(new Uri("/Assets/" + SelectedFlower.ToString() + SelectedColorR.ToString() + ".png", UriKind.Relative));

                string s = "";
                SelectedColorDicR = new List <MyFlower>();
                foreach (var a in ListColorDic)
                {
                    if (a.Color == ListColor[cb.SelectedIndex])
                    {
                        SelectedColorDicR.Add(a);
                        string n = a.GetGeneName();
                        if (!s.Contains(n))
                        {
                            s += n + " ";
                        }
                    }
                }
                TextBlockGeneR.Text = s;
            }
            break;

            case "ComboBoxA1L":
            case "ComboBoxA2L":
            case "ComboBoxA3L":
            case "ComboBoxA4L":
            {
                if (CheckBoxGeneL.IsChecked == false)
                {
                    return;
                }

                int a1  = ComboBoxA1L.SelectedIndex;
                int a2  = ComboBoxA2L.SelectedIndex;
                int a3  = ComboBoxA3L.SelectedIndex;
                int a4  = ComboBoxA4L.SelectedIndex;
                int aa1 = (int)(Gene)Enum.Parse(typeof(Gene), ComboBoxA1L.SelectedItem.ToString());
                int aa2 = (int)(Gene)Enum.Parse(typeof(Gene), ComboBoxA2L.SelectedItem.ToString());
                int aa3 = (int)(Gene)Enum.Parse(typeof(Gene), ComboBoxA3L.SelectedItem.ToString());
                int aa4 = (int)(Gene)Enum.Parse(typeof(Gene), ComboBoxA4L.SelectedItem.ToString());

                if (
                    (a1 > 0 && a2 > 0 && a3 > 0 && SelectedFlower != FlowerType.Roses)
                    ||
                    (a1 > 0 && a2 > 0 && a3 > 0 && a4 > 0)
                    )
                {
                    MyFlower cd = new MyFlower();
                    foreach (var a in ListColorDic)
                    {
                        if (SelectedFlower == FlowerType.Roses)
                        {
                            if (a.A1 == aa1.ToString() && a.A2 == aa2.ToString() && a.A3 == aa3.ToString() && a.A4 == aa4.ToString())
                            {
                                cd = a;
                                break;
                            }
                        }
                        else
                        {
                            if (a.A1 == aa1.ToString() && a.A2 == aa2.ToString() && a.A3 == aa3.ToString())
                            {
                                cd = a;
                                break;
                            }
                        }
                    }
                    TextBlockGeneL.Text        = cd.GetGeneName();
                    TextBlockColorL.Text       = FlowerHelper.ColorNameShow[cd.GetColor()];
                    TextBlockColorL.Foreground = new SolidColorBrush(FlowerHelper.ColorShow[cd.GetColor()]);

                    string path = cd.GetImagePath();
                    ImageFlowerL.Source = new BitmapImage(new Uri(path, UriKind.Relative));
                }
            }
            break;

            case "ComboBoxA1R":
            case "ComboBoxA2R":
            case "ComboBoxA3R":
            case "ComboBoxA4R":
            {
                if (CheckBoxGeneR.IsChecked == false)
                {
                    return;
                }

                int a1  = ComboBoxA1R.SelectedIndex;
                int a2  = ComboBoxA2R.SelectedIndex;
                int a3  = ComboBoxA3R.SelectedIndex;
                int a4  = ComboBoxA4R.SelectedIndex;
                int aa1 = (int)(Gene)Enum.Parse(typeof(Gene), ComboBoxA1R.SelectedItem.ToString());
                int aa2 = (int)(Gene)Enum.Parse(typeof(Gene), ComboBoxA2R.SelectedItem.ToString());
                int aa3 = (int)(Gene)Enum.Parse(typeof(Gene), ComboBoxA3R.SelectedItem.ToString());
                int aa4 = (int)(Gene)Enum.Parse(typeof(Gene), ComboBoxA4R.SelectedItem.ToString());

                if (
                    (a1 > 0 && a2 > 0 && a3 > 0 && SelectedFlower != FlowerType.Roses)
                    ||
                    (a1 > 0 && a2 > 0 && a3 > 0 && a4 > 0)
                    )
                {
                    MyFlower cd = new MyFlower();
                    foreach (var a in ListColorDic)
                    {
                        if (SelectedFlower == FlowerType.Roses)
                        {
                            if (a.A1 == aa1.ToString() && a.A2 == aa2.ToString() && a.A3 == aa3.ToString() && a.A4 == aa4.ToString())
                            {
                                cd = a;
                                break;
                            }
                        }
                        else
                        {
                            if (a.A1 == aa1.ToString() && a.A2 == aa2.ToString() && a.A3 == aa3.ToString())
                            {
                                cd = a;
                                break;
                            }
                        }
                    }
                    TextBlockGeneR.Text        = cd.GetGeneName();
                    TextBlockColorR.Text       = FlowerHelper.ColorNameShow[cd.GetColor()];
                    TextBlockColorR.Foreground = new SolidColorBrush(FlowerHelper.ColorShow[cd.GetColor()]);

                    string path = cd.GetImagePath();
                    ImageFlowerR.Source = new BitmapImage(new Uri(path, UriKind.Relative));
                }
            }
            break;

            case "ComboBoxSeedL":
            {
                if (cb.SelectedIndex == 0)
                {
                    return;
                }
                int index = cb.SelectedIndex - 1;
                TextBlockGeneL.Text        = ListSeed[index].GetGeneName();
                TextBlockColorL.Text       = FlowerHelper.ColorNameShow[ListSeed[index].GetColor()];
                TextBlockColorL.Foreground = new SolidColorBrush(FlowerHelper.ColorShow[ListSeed[index].GetColor()]);
                string path = ListSeed[index].GetImagePath();
                ImageFlowerL.Source = new BitmapImage(new Uri(path, UriKind.Relative));
            }
            break;

            case "ComboBoxSeedR":
            {
                if (cb.SelectedIndex == 0)
                {
                    return;
                }
                int index = cb.SelectedIndex - 1;
                TextBlockGeneR.Text        = ListSeed[index].GetGeneName();
                TextBlockColorR.Text       = FlowerHelper.ColorNameShow[ListSeed[index].GetColor()];
                TextBlockColorR.Foreground = new SolidColorBrush(FlowerHelper.ColorShow[ListSeed[index].GetColor()]);
                string path = ListSeed[index].GetImagePath();
                ImageFlowerR.Source = new BitmapImage(new Uri(path, UriKind.Relative));
            }
            break;
            }
        }