public bool Execute(SharedCommandsEnum commandType, object data = null) { var doc = RhinoDoc.ActiveDoc; if (doc == null) { return(false); } if (!Commands.ContainsKey(commandType)) { return(false); } var command = Commands[commandType]; bool res = false; Shared.TryCatchAction(() => res = command(doc, data), g.SolidFix, "Failed to execute command " + commandType); return(res); }
public void Register(SharedCommandsEnum commandType, Func <RhinoDoc, object, bool> command) { Commands[commandType] = command; }