Exemplo n.º 1
0
        void testBuildClick(object sender, EventArgs e)
        {
            if (Build == null)
            {
                return;
            }

            if (AnnoyUser())
            {
                return;
            }

            // make a new form that generates builds into it
            // have a weight panel near the stats
            // sort live on change
            // copy weights back to here

            if (!Program.Config.AppSettings.Settings.AllKeys.Contains("generateLive"))
            {
                var ff         = new Generate(Build);
                var backupSort = new Stats(Build.Sort);
                var res        = ff.ShowDialog();
                if (res == DialogResult.OK)
                {
                    loading = true;
                    foreach (var stat in Build.StatEnums)
                    {
                        statRows[stat].Worth.Text = Build.Sort[stat] != 0 ? Build.Sort[stat].ToString() : "";
                    }
                    foreach (var extra in Build.ExtraEnums)
                    {
                        statRows[extra].Worth.Text = Build.Sort.ExtraGet(extra) != 0 ? Build.Sort.ExtraGet(extra).ToString() : "";
                    }
                    for (int i = 0; i < 4; i++)
                    {
                        if (Build?.Mon?.SkillsFunction?[i] != null)
                        {
                            var skilla = Attr.Skill1 + i;
                            statRows[skilla].Worth.Text = Build.Sort.DamageSkillups[i] != 0 ? Build.Sort.DamageSkillups[i].ToString() : "";
                        }
                    }
                    loading = false;
                }
                else
                {
                    double val;
                    foreach (var stat in Build.StatEnums)
                    {
                        double.TryParse(statRows[stat].Worth.Text, out val);
                        Build.Sort[stat] = val;
                    }
                    foreach (var extra in Build.ExtraEnums)
                    {
                        double.TryParse(statRows[extra].Worth.Text, out val);
                        Build.Sort.ExtraSet(extra, val);
                    }
                    for (int i = 0; i < 4; i++)
                    {
                        if (Build?.Mon?.SkillsFunction?[i] != null)
                        {
                            var skilla = Attr.Skill1 + i;
                            double.TryParse(statRows[skilla].Worth.Text, out val);
                            Build.Sort.DamageSkillupsSet(i, val);
                        }
                    }
                }
                UpdateGlobal();
            }
            else
            {
                if (testWindow == null || testWindow.IsDisposed)
                {
                    testWindow       = new GenerateLive(Build);
                    testWindow.Owner = this;
                }
                if (!testWindow.Visible)
                {
                    testWindow.Show();
                }
                testWindow.Location = new Point(Location.X + Width, Location.Y);
            }
        }
Exemplo n.º 2
0
        void testBuildClick(object sender, EventArgs e)
        {
            if (build == null)
            {
                return;
            }

            if (AnnoyUser())
            {
                return;
            }

            // make a new form that generates builds into it
            // have a weight panel near the stats
            // sort live on change
            // copy weights back to here

            if (!Program.config.AppSettings.Settings.AllKeys.Contains("generateLive"))
            {
                var ff         = new Generate(build);
                var backupSort = new Stats(build.Sort);
                var res        = ff.ShowDialog();
                if (res == DialogResult.OK)
                {
                    loading = true;
                    foreach (var stat in Build.StatNames)
                    {
                        var ctrlWorth = groupBox1.Controls.Find(stat + "Worth", true).FirstOrDefault();
                        if (ctrlWorth == null)
                        {
                            continue;
                        }

                        ctrlWorth.Text = build.Sort[stat] != 0 ? build.Sort[stat].ToString() : "";
                    }
                    foreach (var extra in Build.ExtraNames)
                    {
                        var ctrlWorth = groupBox1.Controls.Find(extra + "Worth", true).FirstOrDefault();
                        if (ctrlWorth == null)
                        {
                            continue;
                        }

                        ctrlWorth.Text = build.Sort.ExtraGet(extra) != 0 ? build.Sort.ExtraGet(extra).ToString() : "";
                    }
                    for (int i = 0; i < 4; i++)
                    {
                        var ctrlWorth = groupBox1.Controls.Find("Skill" + i + "Worth", true).FirstOrDefault();
                        if (ctrlWorth == null)
                        {
                            continue;
                        }

                        ctrlWorth.Text = build.Sort.DamageSkillups[i] != 0 ? build.Sort.DamageSkillups[i].ToString() : "";
                    }
                    loading = false;
                }
                else
                {
                    foreach (var stat in Build.StatNames)
                    {
                        var ctrlWorth = groupBox1.Controls.Find(stat + "Worth", true).FirstOrDefault();
                        if (ctrlWorth == null)
                        {
                            continue;
                        }

                        double val;
                        double.TryParse(ctrlWorth.Text, out val);
                        build.Sort[stat] = val;
                    }

                    foreach (var extra in Build.ExtraNames)
                    {
                        var ctrlWorth = groupBox1.Controls.Find(extra + "Worth", true).FirstOrDefault();
                        if (ctrlWorth == null)
                        {
                            continue;
                        }

                        double val;
                        double.TryParse(ctrlWorth.Text, out val);
                        build.Sort.ExtraSet(extra, val);
                    }

                    for (int i = 0; i < 4; i++)
                    {
                        var ctrlWorth = groupBox1.Controls.Find("Skill" + i + "Worth", true).FirstOrDefault();
                        if (ctrlWorth == null)
                        {
                            continue;
                        }

                        double val;
                        double.TryParse(ctrlWorth.Text, out val);
                        build.Sort.DamageSkillupsSet(i, val);
                    }
                }
                UpdateGlobal();
            }
            else
            {
                if (testWindow == null || testWindow.IsDisposed)
                {
                    testWindow       = new GenerateLive(build);
                    testWindow.Owner = this;
                }
                if (!testWindow.Visible)
                {
                    testWindow.Show();
                }
                testWindow.Location = new Point(Location.X + Width, Location.Y);
            }
        }