public void LoadSettings() { isLoading = true; this.flowMain.SuspendLayout(); for (int i = flowMain.Controls.Count - 1; i > 0; i--) { flowMain.Controls.RemoveAt(i); } foreach (SplitName split in Splits) { MemberInfo info = typeof(SplitName).GetMember(split.ToString())[0]; DescriptionAttribute description = (DescriptionAttribute)info.GetCustomAttributes(typeof(DescriptionAttribute), false)[0]; HollowKnightSplitSettings setting = new HollowKnightSplitSettings(); setting.cboName.DataSource = GetAvailableSplits(); setting.cboName.Text = description.Description; AddHandlers(setting); flowMain.Controls.Add(setting); } chkOldGameTime.Checked = OldGameTime; isLoading = false; this.flowMain.ResumeLayout(true); }
public void SetSettings(XmlNode settings) { XmlNode orderedNode = settings.SelectSingleNode(".//Ordered"); XmlNode AutosplitEndRunsNode = settings.SelectSingleNode(".//AutosplitEndRuns"); bool isOrdered = false; bool isAutosplitEndRuns = false; if (orderedNode != null) { bool.TryParse(orderedNode.InnerText, out isOrdered); } if (AutosplitEndRunsNode != null) { bool.TryParse(AutosplitEndRunsNode.InnerText, out isAutosplitEndRuns); } Ordered = isOrdered; AutosplitEndRuns = isAutosplitEndRuns; Splits.Clear(); XmlNodeList splitNodes = settings.SelectNodes(".//Splits/Split"); foreach (XmlNode splitNode in splitNodes) { string splitDescription = splitNode.InnerText; SplitName split = HollowKnightSplitSettings.GetSplitName(splitDescription); Splits.Add(split); } }
private void btnAddSplit_Click(object sender, EventArgs e) { HollowKnightSplitSettings setting = new HollowKnightSplitSettings(); List <string> splitNames = GetAvailableSplits(); setting.cboName.DataSource = splitNames; setting.cboName.Text = splitNames[0]; AddHandlers(setting); flowMain.Controls.Add(setting); UpdateSplits(); }
public void SetSettings(XmlNode settings) { Splits.Clear(); XmlNodeList splitNodes = settings.SelectNodes(".//Splits/Split"); foreach (XmlNode splitNode in splitNodes) { string splitDescription = splitNode.InnerText; SplitName split = HollowKnightSplitSettings.GetSplitName(splitDescription); Splits.Add(split); } }
private void radio_CheckedChanged(object sender, EventArgs e) { foreach (Control c in flowMain.Controls) { if (c is HollowKnightSplitSettings) { HollowKnightSplitSettings setting = (HollowKnightSplitSettings)c; string text = setting.cboName.Text; setting.cboName.DataSource = GetAvailableSplits(); setting.cboName.Text = text; } } }
public void SetSettings(XmlNode settings) { Splits.Clear(); XmlNodeList splitNodes = settings.SelectNodes(".//Splits/Split"); foreach (XmlNode splitNode in splitNodes) { string splitDescription = splitNode.InnerText; SplitName split = HollowKnightSplitSettings.GetSplitName(splitDescription); Splits.Add(split); } XmlNode gameTime = settings.SelectSingleNode(".//OldGameTime"); OldGameTime = gameTime == null || string.IsNullOrEmpty(gameTime.InnerText) ? false : bool.Parse(gameTime.InnerText); }
public void UpdateSplits() { if (isLoading) { return; } Splits.Clear(); foreach (Control c in flowMain.Controls) { if (c is HollowKnightSplitSettings) { HollowKnightSplitSettings setting = (HollowKnightSplitSettings)c; if (!string.IsNullOrEmpty(setting.cboName.Text)) { SplitName split = HollowKnightSplitSettings.GetSplitName(setting.cboName.Text); Splits.Add(split); } } } }
private void flowMain_DragOver(object sender, DragEventArgs e) { HollowKnightSplitSettings data = (HollowKnightSplitSettings)e.Data.GetData(typeof(HollowKnightSplitSettings)); FlowLayoutPanel destination = (FlowLayoutPanel)sender; Point p = destination.PointToClient(new Point(e.X, e.Y)); var item = destination.GetChildAtPoint(p); int index = destination.Controls.GetChildIndex(item, false); if (index == 0) { e.Effect = DragDropEffects.None; } else { e.Effect = DragDropEffects.Move; int oldIndex = destination.Controls.GetChildIndex(data); if (oldIndex != index) { destination.Controls.SetChildIndex(data, index); destination.Invalidate(); } } }
private void RemoveHandlers(HollowKnightSplitSettings setting) { setting.cboName.SelectedIndexChanged -= ControlChanged; setting.btnRemove.Click -= btnRemove_Click; }
private void AddHandlers(HollowKnightSplitSettings setting) { setting.cboName.SelectedIndexChanged += new EventHandler(ControlChanged); setting.btnRemove.Click += new EventHandler(btnRemove_Click); }