public void DetectConflicts() { StringBuilder conflicts = new StringBuilder(); for (int i = 0; i < events.Count; ++i) { SmartEvent ev = events.GetEvent(i); for (int j = 0; j < ev.GetActions().Count; ++j) { SmartAction a1 = ev.GetAction(j); SmartAction a2 = SmartFactory.GetInstance().ActionFactory(a1.ID); a2.Copy(a1); for (int p = 0; p < 6; ++p) { if (a1.parameters[p].GetType() != a2.parameters[p].GetType()) { conflicts.AppendLine("Instead of parameter: " + a1.parameters[p].GetType() + "\nWe have: " + a2.parameters[p].GetType()); } } if (a2.ToString() != a1.ToString()) { conflicts.AppendLine("Instead of: \n " + a1.ToString() + "\nWe have:\n " + a2.ToString()); } } } if (conflicts.Length > 0) { MessageBox.Show(conflicts.ToString()); } }