public ButtonCockpitControl(ControlManager manager, CockpitXML.CockpitControlsButton control) : base(manager, control.Name, control.Width, control.Height, control.NetworkID, control.PushedAction, control.ReleaseAction) { background = manager.ImageCache.getImage(control.BackgroundImage); pushedBackground = manager.ImageCache.getImage(control.PushedBackgroundImage); defaultImage = manager.ImageCache.getImage(control.DefaultImage); defaultPushedImage = manager.ImageCache.getImage(control.DefaultPushedImage); if (control.State != null) { foreach (CockpitXML.CockpitControlsButtonState configState in control.State) { ButtonControlState state = new ButtonControlState(manager.ImageCache, configState); controlStates.Add(state); } } pushed = false; if (control.DefaultValue != null) { this.defaultValue = control.DefaultValue; Value = defaultValue; } }