using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace DuckEmulator.GUI { partial class HelpBrowser : Form { private Dictionary TopicList; private Dictionary InfoList; internal HelpBrowser() { InitializeComponent(); LoadTopics(); LoadInfo(); } internal void LoadTopics() { TopicList = new Dictionary(); var Lines = File.ReadAllLines("help/topics.txt"); foreach (string Line in Lines) { TopicList.Add(Convert.ToUInt32(Line.Split(':')[0]), Line.Split(':')[1]); Topics.Items.Add(Line.Split(':')[1]); } } internal string GetInfo(uint Id) { try { return InfoList[Id]; } catch { return "Could not load info."; } } internal uint GetId(string Question) { foreach (KeyValuePair kvp in TopicList) { if (kvp.Value.ToLower() == Question.ToLower()) return kvp.Key; } return 0; } internal void LoadInfo() { InfoList = new Dictionary(); var Lines = File.ReadAllLines("help/text.txt"); foreach (string Line in Lines) { InfoList.Add(Convert.ToUInt32(Line.Split(':')[0]), Line.Split(':')[1]); } } private void Topics_SelectedIndexChanged(object sender, EventArgs e) { WriteTitle(Topics.SelectedItem.ToString()); this.Info.ForeColor = Color.DarkGray; this.Info.Text = "\r\n\r\n"; foreach(string Text in GetInfo(GetId(Topics.SelectedItem.ToString())).Split('#')) { this.Info.Text += " " + Text + "\r\n"; } } private void WriteTitle(string TIT) { this.Title.Text = TIT; } } }