コード例 #1
0
        private void cleanUpAndSaveFile()
        {
            EntryListObject nEntryList = (EntryListObject)entriesTreeView.Nodes[0].Tag;

            if (nEntryList.entries == null)
            {
                nEntryList.entries = new List <Entry>();
            }

            nEntryList.entries.Clear();

            foreach (TreeNode node in entriesTreeView.Nodes[0].Nodes)
            {
                Entry entry = (Entry)node.Tag;
                if (entry.drivers == null)
                {
                    entry.drivers = new List <Driver>();
                }

                entry.drivers.Clear();

                foreach (TreeNode dNode in node.Nodes)
                {
                    Driver driver = (Driver)dNode.Tag;
                    entry.drivers.Add(driver);
                }
                nEntryList.entries.Add(entry);
            }

            nEntryList.entries.Sort(delegate(Entry x, Entry y) { return(x.raceNumber.CompareTo(y.raceNumber)); });
            File.WriteAllText(@"cfg\entrylist.json", JsonConvert.SerializeObject(nEntryList, Formatting.Indented), Encoding.Unicode);
        }
コード例 #2
0
        private void LoadTreeView(EntryListObject entrylist)
        {
            foreach (Entry entry in entrylist.entries)
            {
                TreeNode carTreeNode = new TreeNode();
                //Font regularFont = new Font(entriesTreeView.Font, FontStyle.Regular);
                //Font boldFont = new Font(entriesTreeView.Font, FontStyle.Bold);
                //carTreeNode.NodeFont = entry.isServerAdmin == 1 ? boldFont : regularFont;
                carTreeNode.Text = entry.raceNumber.ToString();
                if (entry.isServerAdmin == 1)
                {
                    carTreeNode.Text = carTreeNode.Text + " ★";
                }
                carTreeNode.Tag = entry;
                entriesTreeView.Nodes[0].Nodes.Add(carTreeNode);

                foreach (Driver driver in entry.drivers)
                {
                    TreeNode driverTreeNode = new TreeNode();
                    if (driver.firstName != null && driver.firstName.Length > 0)
                    {
                        driverTreeNode.Text = driver.firstName + " " + driver.lastName;
                    }
                    else
                    {
                        driverTreeNode.Text = driver.playerID;
                    }
                    driverTreeNode.Tag = driver;
                    carTreeNode.Nodes.Add(driverTreeNode);
                }
            }
            entriesTreeView.Nodes[0].Expand();
        }
コード例 #3
0
        private void EntriesForm_Load(object sender, EventArgs e)
        {
            foreach (Car car in carList)
            {
                car.model = car.model.Replace("    ", "");
            }

            forcedCarModelComboBox.Items.Add(new Car("", -1));
            forcedCarModelComboBox.Items.AddRange(carList.ToArray());

            TreeNode entriesTreeNode = new TreeNode();

            entriesTreeNode.Text = "Entries";
            entriesTreeNode.Tag  = entrylist;
            entriesTreeView.Nodes.Add(entriesTreeNode);

            string file = @"cfg\entrylist.json";

            if (File.Exists(file))
            {
                Encoding encoding = GetEncoding(file);
                string   rawJSON  = File.ReadAllText(file, encoding);
                entrylist = JsonConvert.DeserializeObject <EntryListObject>(rawJSON);
                entrylist.entries.Sort(delegate(Entry x, Entry y) { return(x.raceNumber.CompareTo(y.raceNumber)); });
                LoadTreeView(entrylist);
                forceEntryListCheckBox.Checked = entrylist.forceEntryList == 1 ? true : false;
            }

            if (Directory.Exists(@"cfg\cars\"))
            {
                var fileNames = Directory.GetFiles(@"cfg\cars\", "*.json").Select(f => Path.GetFileName(f));
                foreach (string filen in fileNames)
                {
                    customCarComboBox.Items.Add(filen);
                }
            }
        }