public void Rebuild() { if (_unknownParentsList.Count > 0) { StringBuilder orphans = new StringBuilder(); foreach (Dependency d in _unknownParentsList) { orphans.Append("\n"); orphans.Append(d.Name); } string msg = "The following krystals contain fatal errors,\n" + "which mean that they cannot be (re)constructed:\n" + orphans.ToString() + "\n\nDelete?"; DialogResult result = MessageBox.Show(msg, "Error", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (result == DialogResult.Yes) { foreach (Dependency d in _unknownParentsList) { File.Delete(K.KrystalsFolder + @"\" + d.Name); } } } foreach (Dependency d in _dependencyList) { string path = K.KrystalsFolder + @"\" + d.Name; if (K.IsExpansionKrystalFilename(d.Name)) { ExpansionKrystal xk = new ExpansionKrystal(path); xk.Rebuild(); } if (K.IsShapedExpansionKrystalFilename(d.Name)) { ShapedExpansionKrystal sk = new ShapedExpansionKrystal(path); sk.Rebuild(); } if (K.IsModulationKrystalFilename(d.Name)) { ModulationKrystal mk = new ModulationKrystal(path); mk.Rebuild(); } if (K.IsPermutationKrystalFilename(d.Name)) { PermutationKrystal pk = new PermutationKrystal(path); pk.Rebuild(); } } }
public void Rebuild() { if(_unknownParentsList.Count > 0) { StringBuilder orphans = new StringBuilder(); foreach(Dependency d in _unknownParentsList) { orphans.Append("\n"); orphans.Append(d.Name); } string msg = "The following krystals contain fatal errors,\n" + "which mean that they cannot be (re)constructed:\n" + orphans.ToString() + "\n\nDelete?"; DialogResult result = MessageBox.Show(msg, "Error", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if(result == DialogResult.Yes) foreach(Dependency d in _unknownParentsList) File.Delete(K.KrystalsFolder + @"\" + d.Name); } foreach(Dependency d in _dependencyList) { string path = K.KrystalsFolder + @"\" + d.Name; if(K.IsExpansionKrystalFilename(d.Name)) { ExpansionKrystal xk = new ExpansionKrystal(path); xk.Rebuild(); } if(K.IsShapedExpansionKrystalFilename(d.Name)) { ShapedExpansionKrystal sk = new ShapedExpansionKrystal(path); sk.Rebuild(); } if(K.IsModulationKrystalFilename(d.Name)) { ModulationKrystal mk = new ModulationKrystal(path); mk.Rebuild(); } if(K.IsPermutationKrystalFilename(d.Name)) { PermutationKrystal pk = new PermutationKrystal(path); pk.Rebuild(); } } }