private void UpdateDependence(int n) { ItemSelectorForm ItemSelect = new ItemSelectorForm(); DialogResult R = ItemSelect.ShowDialog(); if (R == DialogResult.OK) { List <int> Returned = ItemSelectorForm.ReturnItems; if (Returned.Count == 0) { return; } ; for (int i = 0; i < Returned.Count; i++) { if (!ItemList[n].Dependence.Contains(Returned[i])) { ItemList[n].Dependence.Add(Returned[i]); } ; } ; FillDependence(n); } ; }
private void UpdateConditional(int n, int?conditionalIndex = null) { List <int> selectedItems = null; if (conditionalIndex.HasValue) { selectedItems = ItemList[n].Conditional[conditionalIndex.Value]; } ItemSelectorForm ItemSelect = new ItemSelectorForm(selectedItems); DialogResult R = ItemSelect.ShowDialog(); if (R == DialogResult.OK) { List <int> Returned = ItemSelectorForm.ReturnItems; if (Returned.Count == 0) { return; } ; if (conditionalIndex.HasValue) { ItemList[n].Conditional[conditionalIndex.Value] = Returned; } else { ItemList[n].Conditional.Add(Returned); } FillConditional(n); } ; }
private void button_goto_Click(object sender, EventArgs e) { var itemSelect = new ItemSelectorForm(checkboxes: false); var result = itemSelect.ShowDialog(); if (result == DialogResult.OK && ItemSelectorForm.ReturnItems.Any()) { var itemIndex = ItemSelectorForm.ReturnItems.First(); nItem.Value = itemIndex; } }
private void mNew_Click(object sender, EventArgs e) { ItemSelectorForm.ResetItems(); ITEM_NAMES = DEFAULT_ITEM_NAMES.ToArray(); nItem.Minimum = 0; nItem.Maximum = ITEM_NAMES.Length - 1; ItemList = new List <ItemLogic>(); for (int i = 0; i < ITEM_NAMES.Length; i++) { ItemLogic l = new ItemLogic(); ItemList.Add(l); } ; nItem.Value = 1; nItem.Value = 0; }
private void btn_new_item_Click(object sender, EventArgs e) { using (var newItemForm = new NewItemForm()) { var result = newItemForm.ShowDialog(); if (result == DialogResult.OK) { var newList = ITEM_NAMES.ToList(); newList.Add(newItemForm.ReturnValue); ITEM_NAMES = newList.ToArray(); nItem.Maximum = ITEM_NAMES.Length - 1; ItemList.Add(new ItemLogic()); nItem.Value = nItem.Maximum; ItemSelectorForm.AddItem(newItemForm.ReturnValue); } } }
private void lConditional_MouseDoubleClick(object sender, MouseEventArgs e) { var index = lConditional.IndexFromPoint(e.Location); if (index != ListBox.NoMatches) { var conditions = ItemList[n].Conditional[index]; if (conditions.Count == 1) { nItem.Value = conditions[0]; } else { var itemSelect = new ItemSelectorForm(checkboxes: false, highlightedItems: conditions); var result = itemSelect.ShowDialog(); if (result == DialogResult.OK && ItemSelectorForm.ReturnItems.Any()) { var itemIndex = ItemSelectorForm.ReturnItems.First(); nItem.Value = itemIndex; } } } }
private void mImport_Click(object sender, EventArgs e) { if (openLogic.ShowDialog() == DialogResult.OK) { StreamReader LogicFile = new StreamReader(File.Open(openLogic.FileName, FileMode.Open)); ItemList = new List <ItemLogic>(); var logicString = LogicFile.ReadToEnd(); logicString = Migrator.ApplyMigrations(logicString); string[] lines = logicString.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None); ItemSelectorForm.ResetItems(); ITEM_NAMES = DEFAULT_ITEM_NAMES.ToArray(); int i = 0; while (true) { if (i == lines.Length) { break; } ; if (lines[i].Contains("-")) { var itemName = lines[i].Substring(2); if (ItemList.Count >= ITEM_NAMES.Length) { var newList = ITEM_NAMES.ToList(); newList.Add(itemName); ItemSelectorForm.AddItem(itemName); ITEM_NAMES = newList.ToArray(); } i++; continue; } else { ItemLogic l = new ItemLogic(); l.Dependence = new List <int>(); if (lines[i] != "") { foreach (string j in lines[i].Split(',')) { l.Dependence.Add(Convert.ToInt32(j)); } ; } ; l.Conditional = new List <List <int> >(); if (lines[i + 1] != "") { foreach (string j in lines[i + 1].Split(';')) { List <int> c = new List <int>(); foreach (string k in j.Split(',')) { c.Add(Convert.ToInt32(k)); } ; l.Conditional.Add(c); } ; } ; l.Time_Needed = Convert.ToInt32(lines[i + 2]); l.Time_Available = Convert.ToInt32(lines[i + 3]); ItemList.Add(l); i += 4; }; } ; LogicFile.Close(); nItem.Value = 1; nItem.Value = 0; nItem.Maximum = ITEM_NAMES.Length - 1; } ; }
private void LoadLogic(string logicString) { ItemList = new List <ItemLogic>(); string[] lines = logicString.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None); ItemSelectorForm.ResetItems(); ITEM_NAMES = DEFAULT_ITEM_NAMES.ToArray(); int i = 0; while (true) { if (i == lines.Length) { break; } ; if (lines[i].Contains("-")) { var itemName = lines[i].Substring(2); if (ItemList.Count >= ITEM_NAMES.Length) { var newList = ITEM_NAMES.ToList(); newList.Add(itemName); ItemSelectorForm.AddItem(itemName); ITEM_NAMES = newList.ToArray(); } i++; continue; } else { ItemLogic l = new ItemLogic(); l.Dependence = new List <int>(); if (lines[i] != "") { foreach (string j in lines[i].Split(',')) { l.Dependence.Add(Convert.ToInt32(j)); } ; } ; l.Conditional = new List <List <int> >(); if (lines[i + 1] != "") { foreach (string j in lines[i + 1].Split(';')) { List <int> c = new List <int>(); foreach (string k in j.Split(',')) { c.Add(Convert.ToInt32(k)); } ; l.Conditional.Add(c); } ; } ; l.Time_Needed = Convert.ToInt32(lines[i + 2]); l.Time_Available = Convert.ToInt32(lines[i + 3]); ItemList.Add(l); i += 4; }; } ; nItem.Maximum = ITEM_NAMES.Length - 1; SetIndex((int)nItem.Value); }