public static void AddServo(IServo servo) { if (!Instance) return; if (Instance.ServoGroups == null) Instance.ServoGroups = new List<ControlGroup>(); if (Gui.ControlsGUI.IRGUI) { Gui.ControlsGUI.IRGUI.enabled = true; } ControlGroup controlGroup = null; if (!string.IsNullOrEmpty(servo.Group.Name)) { foreach (ControlGroup cg in Instance.ServoGroups) { if (servo.Group.Name == cg.Name) { controlGroup = cg; break; } } if (controlGroup == null) { var newGroup = new ControlGroup(servo); Instance.ServoGroups.Add(newGroup); Logger.Log("[ServoController] AddServo adding new ControlGroup", Logger.Level.Debug); return; } } if (controlGroup == null) { if (Instance.ServoGroups.Count < 1) { Instance.ServoGroups.Add(new ControlGroup()); } controlGroup = Instance.ServoGroups[Instance.ServoGroups.Count - 1]; } controlGroup.AddControl(servo); Logger.Log("[ServoController] AddServo finished successfully", Logger.Level.Debug); }
public static void MoveServo(ControlGroup from, ControlGroup to, IServo servo) { to.AddControl(servo); from.RemoveControl(servo); }