public static ControlEnableStateChangeEvent Create(BaseControlComponent controller, bool isEnabled) { ControlEnableStateChangeEvent returningEvent = EventManager.Instance.GetEventFromType<ControlEnableStateChangeEvent>(EventType.CONTROL_ENABLE_STATE_CHANGE_EVENT); if (returningEvent == null) { returningEvent = EventManager.Instance.AddEventToPool(new ControlEnableStateChangeEvent(controller, isEnabled)); } else { returningEvent.controller = controller; returningEvent.isEnabled = isEnabled; returningEvent.origin = controller.Owner; } return returningEvent; }
/// <summary> /// Agrega un control component a la lista y lo habilita. /// </summary> /// <param name="control"></param> public void addController(BaseControlComponent control) { if(!controlStack.Contains(control)){ control.Enabled = true; controlStack.Add(control); }else{ throw new Exception("Controller already added!"); } }
private ControlEnableStateChangeEvent(BaseControlComponent controller, bool isEnabled) : base(controller.Owner, EventType.CONTROL_ENABLE_STATE_CHANGE_EVENT) { this.controller = controller; this.isEnabled = isEnabled; }
/// <summary> /// Saca un control de la lista. /// </summary> /// <param name="control"></param> /// <returns></returns> public bool removeController(BaseControlComponent control) { control.Enabled = false; return controlStack.Remove(control); }