/// <summary> /// Selects the proper addon that can handle the action request. /// </summary> public static ActionResponse DispatchAction(ActionRequest request) { ActionResponse response = null; switch (request.ActionType) { case ActionType.ActionSaveProperties: if (propertyAddon != null) { PropBaseCtl propCtl = (propertyAddon.AddonPanel as PropBaseCtl); if (propCtl != null) { propCtl.SaveProperties(); } } break; case ActionType.ActionBeginEdit: { // Stop editing properties if it's the case. if (propertyAddon != null) { PropBaseCtl propCtl = (propertyAddon.AddonPanel as PropBaseCtl); if (propCtl != null) { propCtl.EndEdit(); propertyAddon = null; } } propertyAddon = SelectPropertyAddon(request.Items); response = new ActionResponse(request, propertyAddon); } break; case ActionType.ActionBeginPreview: { // Stop previewing if it's the case. if (request.ActionType == ActionType.ActionBeginPreview && previewAddon != null) { PreviewBaseCtl previewCtl = (previewAddon.AddonPanel as PreviewBaseCtl); if (previewCtl != null) { previewCtl.EndPreview(); AddonsCore.Instance.FirePreviewEnded(); previewAddon = null; } } previewAddon = SelectPreviewAddon(request.Items); response = new ActionResponse(request, previewAddon); } break; default: response = null; break; } return response; }
/// <summary> /// Verifies if the given action response represents /// a failed action or not. /// </summary> public static bool IsFailedAction(ActionResponse response) { return (response == null || response.TargetAddon == null || response.failed); }
/// <summary> /// Verifies if the given action response represents /// a failed action or not. /// </summary> public static bool IsFailedAction(ActionResponse response) { return(response == null || response.TargetAddon == null || response.failed); }