Exemple #1
0
        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;
 }