private async void BindData() { string json = await FlowerHelper.GetFlowerAll(); List <MyFlower> list = JsonConvert.DeserializeObject <List <MyFlower> >(json); GlobalTool.FlowerAll = list; }
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; } } }
/********* ** Public methods *********/ /// <summary>The mod entry point, called after the mod is first loaded.</summary> /// <param name="helper">Provides simplified APIs for writing mods.</param> public override void Entry(IModHelper helper) { ModConfig config = this.Helper.ReadConfig <ModConfig>(); Multiplayer multiplayer = typeof(Game1).GetField("multiplayer", BindingFlags.NonPublic | BindingFlags.Static).GetValue(null) as Multiplayer; FlowerHelper flowerHelper = new FlowerHelper(multiplayer, config.LocalOnly); flowerers = new List <IToolFlowerer> { new Swipe(flowerHelper), new Swing(flowerHelper), new Stab(flowerHelper), new Defense(flowerHelper), new Watering(flowerHelper), new TimingCast(flowerHelper) }; explosionCreator = new Explosion(flowerHelper); slingshotCreator = new Slingshot(flowerHelper); helper.Events.GameLoop.UpdateTicked += GameLoop_UpdateTicked; }
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]); } } }
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); }
private void B_Click() { switch (GlobalTool.ButtonNameZajiao) { case "ButtonSearch": { List <MyFlower> ParentL = new List <MyFlower>(); List <MyFlower> ParentR = new List <MyFlower>(); if (GlobalTool.BoolColorL == true) { //按颜色L if (GlobalTool.IndexColorL == 0) { GlobalTool.OpenDialogButton(this, "没有选择颜色"); return; } foreach (var everyflower in SelectedColorDicL) { ParentL.Add(everyflower); } } if (GlobalTool.BoolColorR == true) { //按颜色R if (GlobalTool.IndexColorR == 0) { GlobalTool.OpenDialogButton(this, "没有选择颜色"); return; } foreach (var everyflower in SelectedColorDicR) { ParentR.Add(everyflower); } } if (GlobalTool.BoolGeneL == true) { //按基因型L Gene a1 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA1L); Gene a2 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA2L); Gene a3 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA3L); Gene a4 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA4L); MyFlower f = new MyFlower(SelectedFlower, a1, a2, a3, a4); foreach (var i in f.GetIntArray()) { if (i == 0) { GlobalTool.OpenDialogButton(this, "没有选择基因型"); return; } } foreach (var a in ListColorDic) { if (f.GetGeneName() == a.GetGeneName()) { ParentL.Add(a); } } } if (GlobalTool.BoolGeneR == true) { //按基因型R Gene a1 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA1R); Gene a2 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA2R); Gene a3 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA3R); Gene a4 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA4R); MyFlower f = new MyFlower(SelectedFlower, a1, a2, a3, a4); foreach (var i in f.GetIntArray()) { if (i == 0) { GlobalTool.OpenDialogButton(this, "没有选择基因型"); return; } } foreach (var a in ListColorDic) { if (f.GetGeneName() == a.GetGeneName()) { ParentR.Add(a); } } } if (GlobalTool.BoolSeedL == true) { //按种子L int index = GlobalTool.IndexSeedL; if (index == 0) { GlobalTool.OpenDialogButton(this, "没有选择种子"); return; } ParentL.Add(ListSeed[index - 1]); } if (GlobalTool.BoolSeedR == true) { //按种子L int index = GlobalTool.IndexSeedR; if (index == 0) { GlobalTool.OpenDialogButton(this, "没有选择种子"); return; } ParentR.Add(ListSeed[index - 1]); } ObservableCollection <ChildCard> result = new ObservableCollection <ChildCard>(); foreach (var L in ParentL) { foreach (var R in ParentR) { var children = FlowerHelper.GetOurChildren(L, R); foreach (var child in children) { var childcard = new ChildCard(L, R, child, FlowerHelper.GetProbability(L, R, child)); bool isinList = false; foreach (var a in result) { if ( ( childcard.Gene == a.Gene && childcard.GeneP1 == a.GeneP1 && childcard.GeneP2 == a.GeneP2 ) || ( childcard.Gene == a.Gene && childcard.GeneP2 == a.GeneP1 && childcard.GeneP1 == a.GeneP2 ) ) { isinList = true; } } if (!isinList) { result.Add(childcard); } } } } Action <IEnumerable> updateAction = new Action <IEnumerable>(ShowData); this.Dispatcher.BeginInvoke(updateAction, result); } break; } }
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; } }
public Explosion(FlowerHelper helper) : base(helper) { }
private void B_Click() { switch (GlobalTool.ButtonNameParent) { case "ButtonSearch": { ObservableCollection <ParentCard> reCard = new ObservableCollection <ParentCard>(); if (GlobalTool.BoolColor == true) { //按颜色查父本 if (GlobalTool.IndexColor == 0) { GlobalTool.OpenDialogButton(_syncContextTaskScheduler, "没有选择颜色"); return; } if (SelectedColorDic == null || SelectedColorDic.Count == 0) { return; } foreach (var everyflower in SelectedColorDic) { var parent = FlowerHelper.GetMyParent(everyflower); foreach (var a in parent) { var aa = new ParentCard(a); bool inResult = false; foreach (var b in reCard) { if (b.TextGeneLeft == aa.TextGeneLeft && b.TextGeneRight == aa.TextGeneRight) { inResult = true; } } if (!inResult) { reCard.Add(aa); } } } } if (GlobalTool.BoolGene == true) { //按基因型查父本 Gene a1 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA1); Gene a2 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA2); Gene a3 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA3); Gene a4 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA4); MyFlower f = new MyFlower(SelectedFlower, a1, a2, a3, a4); var re = FlowerHelper.GetMyParent(f); foreach (var a in re) { reCard.Add(new ParentCard(a)); } } Task.Factory.StartNew(() => ShowData(reCard), new CancellationTokenSource().Token, TaskCreationOptions.None, _syncContextTaskScheduler).Wait(); } break; } }
public Slingshot(FlowerHelper helper) : base(helper) { }
public BaseCreator(FlowerHelper helper) { this.helper = helper; }
private async void Button_Click(object sender, RoutedEventArgs e) { if (GlobalTool.NaviViewMain.SelectedItem != GlobalTool.NaviItemZajiao) { return; } List <MyFlower> ParentL = new List <MyFlower>(); List <MyFlower> ParentR = new List <MyFlower>(); if (GlobalTool.BoolColorL == true) {//按颜色L if (GlobalTool.IndexColorL == 0) { GlobalTool.TipSearch.IsOpen = true; return; } foreach (var everyflower in SelectedColorDicL) { ParentL.Add(everyflower); } } if (GlobalTool.BoolColorR == true) {//按颜色R if (GlobalTool.IndexColorR == 0) { GlobalTool.TipSearch.IsOpen = true; return; } foreach (var everyflower in SelectedColorDicR) { ParentR.Add(everyflower); } } if (GlobalTool.BoolGeneL == true) {//按基因型L Gene a1 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA1L); Gene a2 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA2L); Gene a3 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA3L); Gene a4 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA4L); MyFlower f = new MyFlower(GlobalTool.SelectedFlower, a1, a2, a3, a4); foreach (var i in f.GetIntArray()) { if (i == 0) { GlobalTool.TipSearch.IsOpen = true; return; } } foreach (var a in GlobalTool.ListColorDic) { if (f.GetGeneName() == a.GetGeneName()) { ParentL.Add(a); } } } if (GlobalTool.BoolGeneR == true) {//按基因型R Gene a1 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA1R); Gene a2 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA2R); Gene a3 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA3R); Gene a4 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA4R); MyFlower f = new MyFlower(GlobalTool.SelectedFlower, a1, a2, a3, a4); foreach (var i in f.GetIntArray()) { if (i == 0) { GlobalTool.TipSearch.IsOpen = true; return; } } foreach (var a in GlobalTool.ListColorDic) { if (f.GetGeneName() == a.GetGeneName()) { ParentR.Add(a); } } } if (GlobalTool.BoolSeedL == true) {//按种子L int index = GlobalTool.IndexSeedL; if (index == 0) { GlobalTool.TipSearch.IsOpen = true; return; } ParentL.Add(ListSeed[index - 1]); } if (GlobalTool.BoolSeedR == true) {//按种子R int index = GlobalTool.IndexSeedR; if (index == 0) { GlobalTool.TipSearch.IsOpen = true; return; } ParentR.Add(ListSeed[index - 1]); } GlobalTool.ShowProgress(); await Task.Factory.StartNew(() => { ObservableCollection <ChildCard> result = new ObservableCollection <ChildCard>(); foreach (var L in ParentL) { foreach (var R in ParentR) { var children = FlowerHelper.GetOurChildren(L, R); foreach (var child in children) { var childcard = new ChildCard(L, R, child, FlowerHelper.GetProbability(L, R, child)); bool isinList = false; foreach (var a in result) { if ( ( childcard.Gene == a.Gene && childcard.GeneP1 == a.GeneP1 && childcard.GeneP2 == a.GeneP2 ) || ( childcard.Gene == a.Gene && childcard.GeneP2 == a.GeneP1 && childcard.GeneP1 == a.GeneP2 ) ) { isinList = true; } } if (!isinList) { result.Add(childcard); } } } } Sync.Post((o) => { GlobalTool.CloseProgress(); var r = o as ObservableCollection <ChildCard>; ListViewChildren.ItemsSource = r; }, result); }); }
private void Button_Click(object sender, RoutedEventArgs e) { if (GlobalTool.NaviViewMain.SelectedItem != GlobalTool.NaviItemParent) { return; } ObservableCollection <ParentCard> reCard = new ObservableCollection <ParentCard>(); GlobalTool.ShowProgress(); Task.Factory.StartNew(() => { if (GlobalTool.BoolColor == true) {//按颜色查父本 if (GlobalTool.IndexColor == 0) { GlobalTool.TipSearch.IsOpen = true; return; } if (SelectedColorDic == null || SelectedColorDic.Count == 0) { return; } foreach (var everyflower in SelectedColorDic) { var parent = FlowerHelper.GetMyParent(everyflower); foreach (var a in parent) { var aa = new ParentCard(a); bool inResult = false; foreach (var b in reCard) { if (b.TextGeneLeft == aa.TextGeneLeft && b.TextGeneRight == aa.TextGeneRight) { inResult = true; } } if (!inResult) { reCard.Add(aa); } } } } if (GlobalTool.BoolGene == true) {//按基因型查父本 Gene a1 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA1); Gene a2 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA2); Gene a3 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA3); Gene a4 = (Gene)Enum.Parse(typeof(Gene), GlobalTool.ItemA4); MyFlower f = new MyFlower(GlobalTool.SelectedFlower, a1, a2, a3, a4); var re = FlowerHelper.GetMyParent(f); foreach (var a in re) { reCard.Add(new ParentCard(a)); } } Sync.Post((o) => { GlobalTool.CloseProgress(); var r = o as ObservableCollection <ParentCard>; ListViewParent.ItemsSource = r; }, reCard); }); }