public void AddModule(TECIOModule module) { if (CanAddModule(module)) { IOModules.Add(module); } else { throw new InvalidOperationException("Controller can't accept IOModule."); } }
public void OptimizeModules() { List <TECIOModule> previousModules = this.IOModules.Distinct().ToList(); foreach (TECIOModule item in previousModules) { while (CanRemoveModule(item)) { IOModules.Remove(item); } } }
void IDropTarget.Drop(IDropInfo dropInfo) { if (dropInfo.Data is TECIOModule module) { bool foundModule = false; foreach (var item in IOModules) { if (item.Item == module) { item.Quantity++; foundModule = true; break; } } if (!foundModule) { ControllerType.IOModules.Add(module); IOModules.Add(module); } } }