Example #1
0
        private void removeAbilityToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SkillTreeEntry removeme = (SkillTreeEntry)skillentrylist.SelectedItem;

            skillentrylist.Items.Remove(removeme);
            panel1.Refresh();
            CommitSkillTree();
        }
Example #2
0
 private void WriteSkillTreeEntry(SkillTreeEntry e)
 {
     writer.Write(e.SkillID);
     writer.Write(e.LearnLevel);
     writer.Write(e.TrainingLevel);
     writer.Write(e.MaxLevel);
     writer.Write(e.ExpBase);
     writer.Write(e.ExpDelta);
     writer.Write(e.RequireItemID ?? "null");
     writer.Write(e.Column);
     writer.Write(e.ManualOffset.X);
     writer.Write(e.ManualOffset.Y);
     WritePreRequisiteSkills(e.PreRequisiteSkills);
 }
Example #3
0
 private void panel1_MouseClick(object sender, MouseEventArgs e)
 {
     SkillTreeEntry[] array = new SkillTreeEntry[skillentrylist.Items.Count];
     skillentrylist.Items.CopyTo(array, 0);
     foreach (SkillTreeEntry icon in array)
     {
         Microsoft.Xna.Framework.Point p = icon.GetLocation();
         Rectangle XX = new Rectangle(p.X, p.Y, 40, 40);
         if (XX.Contains(new Point(e.X, e.Y)))
         {
             skillentrylist.SelectedIndex = (skillentrylist.Items.IndexOf(icon));
         }
     }
 }
Example #4
0
        private void EditSkillEntry(SkillTreeEntry entry)
        {
            SkillTreeEntryEditor editor = new SkillTreeEntryEditor(this, entry);

            if (editor.ShowDialog() == DialogResult.OK)
            {
                if (skillentrylist.SelectedItems.Count != 1)
                {
                    return;
                }
                skillentrylist.Items[skillentrylist.SelectedIndex] = editor.Entry;
                CommitSkillTree();
            }
        }
Example #5
0
        public SkillTreeEntryEditor(MainForm Parent, SkillTreeEntry Entry)
        {
            InitializeComponent();
            this.Entry           = Entry;
            this.AbilityProvider = Parent;
            ModularAbility a = Parent.FindAbility(Entry.SkillID);

            SkillName.Text      = a.Name;
            learnlevel.Value    = (decimal)Entry.LearnLevel;
            column.Value        = (decimal)Entry.Column;
            traininglevel.Value = (decimal)Entry.TrainingLevel;
            maxlvl.Value        = (decimal)Entry.MaxLevel;
            expbase.Value       = (decimal)Entry.ExpBase;
            expdelta.Value      = (decimal)Entry.ExpDelta;
            requireitemid.Text  = Entry.RequireItemID;
            ReloadReqList();
        }
Example #6
0
        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            SkillTreeEntry[] array = new SkillTreeEntry[skillentrylist.Items.Count];
            skillentrylist.Items.CopyTo(array, 0);
            //foreach (SkillTreeEntry entry in currentclass.SkillTree.Entries)
            foreach (SkillTreeEntry entry in array)
            {
                Microsoft.Xna.Framework.Point corner = entry.GetLocation();
                corner += new Microsoft.Xna.Framework.Point(SkillTree.ICON_WIDTH / 2, SkillTree.ICON_WIDTH / 2);
                if (entry.PreRequisiteSkills != null)
                {
                    foreach (Tuple <string, int> prereq in entry.PreRequisiteSkills)
                    {
                        foreach (SkillTreeEntry preentry in array)
                        {
                            if (preentry.SkillID == prereq.Item1)
                            {
                                Microsoft.Xna.Framework.Point corner2 = preentry.GetLocation();
                                corner2 += new Microsoft.Xna.Framework.Point(SkillTree.ICON_WIDTH / 2, SkillTree.ICON_WIDTH / 2);
                                g.DrawLine(new Pen(Color.Red, 7), corner.X, corner.Y, corner2.X, corner2.Y);
                            }
                        }
                    }
                }
            }
            //foreach (SkillTreeEntry entry in currentclass.SkillTree.Entries)
            foreach (SkillTreeEntry entry in array)
            {
                ModularAbility a = FindAbility(entry.SkillID);
                if (a == null)
                {
                    continue;
                }
                Microsoft.Xna.Framework.Point corner = entry.GetLocation();
                int       IconId     = a.Icon;
                Point     iconsource = new Point((IconId % 64) * 32, ((int)(IconId / 64f)) * 32);
                Rectangle src        = new Rectangle(iconsource, new Size(32, 32));
                if (entry == skillentrylist.SelectedItem)
                {
                    g.DrawRectangle(new Pen(Color.Red, 4), corner.X, corner.Y, 40, 40);
                }
                g.DrawImage(iconimage.Image, corner.X + 4, corner.Y + 4, src, GraphicsUnit.Pixel);
            }
        }
Example #7
0
        private void AddSkillTree(string id, int level)
        {
            ModularAbility a = FindAbility(id);

            if (a == null)
            {
                MessageBox.Show("The AbilityID \"" + id + "\" was not found in the database.", "Invalid AbilityID", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                return;
            }
            SkillTreeEntry e = new SkillTreeEntry()
            {
                SkillID    = id,
                LearnLevel = level,
                Name       = a.Name
            };

            skillentrylist.Items.Add(e);
            CommitSkillTree();
        }
Example #8
0
        public SkillTreeEntry ReadSkillTreeEntry()
        {
            SkillTreeEntry result = new SkillTreeEntry();

            result.SkillID       = reader.ReadString();
            result.LearnLevel    = reader.ReadInt32();
            result.TrainingLevel = reader.ReadInt32();
            result.MaxLevel      = reader.ReadInt32();
            result.ExpBase       = reader.ReadInt32();
            result.ExpDelta      = reader.ReadInt32();
            result.RequireItemID = reader.ReadString();
            result.Column        = reader.ReadInt32();
            int X = reader.ReadInt32();
            int Y = reader.ReadInt32();

            result.ManualOffset       = new Microsoft.Xna.Framework.Point(X, Y);
            result.PreRequisiteSkills = ReadPreRequisiteSkills();

            return(result);
        }
Example #9
0
        private void button1_Click(object sender, EventArgs e)
        {
            List <Tuple <string, int> > g = GetPreReqs();
            SkillTreeEntry result         = new SkillTreeEntry()
            {
                Name               = AbilityProvider.FindAbility(Entry.SkillID).Name,
                SkillID            = Entry.SkillID,
                LearnLevel         = (int)learnlevel.Value,
                Column             = (int)column.Value,
                TrainingLevel      = (int)traininglevel.Value,
                MaxLevel           = (int)maxlvl.Value,
                ExpBase            = (int)expbase.Value,
                ExpDelta           = (int)expdelta.Value,
                RequireItemID      = requireitemid.Text,
                PreRequisiteSkills = g
            };

            Entry             = result;
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
Example #10
0
 private void CommitSkillTree()
 {
     SkillTreeEntry[] list = new SkillTreeEntry[skillentrylist.Items.Count];
     skillentrylist.Items.CopyTo(list, 0);
     CurrentClass.SkillTree.Entries = list.ToList();
 }