public object DeserializeItem(XmlNode serializedItem, object parentItem) { if (serializedItem.LocalName != TAG_NAME) { return(null); } string code = serializedItem.Attributes[ATTRIBUTE_CODE]?.Value; List <string> argumentKeys = new List <string>(); foreach (XmlNode childNode in serializedItem.ChildNodes) { if (childNode.LocalName == TAG_NAME_ARGUMENT) { string argumentKey = childNode.Attributes[ATTRIBUTE_ARGUMENT_KEY]?.Value; argumentKeys.Add(argumentKey); } } IMacroTrigger trigger = MacroTriggerRegister.Instance.GetTrigger(code); if (trigger == null) { return(null); } return(trigger.GetWithArgumentsByKeys(argumentKeys.ToArray())); }
public MacroTriggerWithArguments(IMacroTrigger trigger, object[] argumentValues) { this.Trigger = trigger; this.argumentObjects = argumentValues; Activate(); }
public MacroTriggerWithArguments(IMacroTrigger trigger, string[] argumentKeys, bool byKeys) { this.Trigger = trigger; this.argumentKeys = argumentKeys; }