public void loadConfig(string fname) { StreamReader readfile; try { readfile = new StreamReader(new FileStream(fname, FileMode.Open), Encoding.UTF8); if (readfile == null) return; } catch { MessageBox.Show("couldn't open file {0} for reading", fname); return; } string line; int on = 0, after = 0; listView1.Items.Clear(); listView2.Items.Clear(); while ((line = readfile.ReadLine()) != null) { char[] sep = new char[1]; sep[0] = ','; char[] trim = new char[1]; trim[0] = ' '; string[] split = line.Split(sep, StringSplitOptions.RemoveEmptyEntries); if (split[0] == "On" && on < 6) { if (split[1] == "null" || split[2] == "null") { } else { uint evtid = Convert.ToUInt32(split[1].TrimStart(trim)); uint actid = Convert.ToUInt32(split[2].TrimStart(trim)); skillmap evt = gs.skills[evtid]; skill act = null; foreach (skill sk in c.skilllist) { if (actid == sk.id) { act = sk; break; } } if (act == null) continue; evtSkill s = new evtSkill(); s.evt = evt; s.act = act; ListViewItem item = new ListViewItem(evt.name); item.SubItems.Add(act.name); item.Tag = s; listView1.Items.Add(item); } } else if (split[0] == "After" && after < 6) { if (split[1] == "null" || split[2] == "null") { } else { uint evtid = Convert.ToUInt32(split[1].TrimStart(trim)); uint actid = Convert.ToUInt32(split[2].TrimStart(trim)); skillmap evt = gs.skills[evtid]; skill act = null; foreach (skill sk in c.skilllist) { if (actid == sk.id) { act = sk; break; } } if (act == null) continue; evtSkill s = new evtSkill(); s.evt = evt; s.act = act; ListViewItem item = new ListViewItem(evt.name); item.SubItems.Add(act.name); item.Tag = s; listView2.Items.Add(item); } } } readfile.Close(); c.doonskill.Clear(); foreach (ListViewItem item in listView1.Items) { evtSkill s = (evtSkill)item.Tag; c.doonskill.Add(s.evt.id, s); } c.doafterskill.Clear(); foreach (ListViewItem item in listView2.Items) { evtSkill s = (evtSkill)item.Tag; c.doafterskill.Add(s.evt.id, s); } }
private void button6_Click(object sender, EventArgs e) { skillmap evt = (skillmap)cbAfter.SelectedItem; if (evt == null) return; skill act = (skill)cbBuffAfter.SelectedItem; if (act == null) return; if (c.doafterskill.ContainsKey(evt.id)) { MessageBox.Show("Cannot have multiple skills launch from one skill"); return; } evtSkill s = new evtSkill(); s.evt = evt; s.act = act; ListViewItem item = new ListViewItem(evt.name); item.SubItems.Add(act.name); item.Tag = s; listView2.Items.Add(item); }