Пример #1
0
        public void LoadMacroSets(List <MacroSetDescriptor> macroSets)
        {
            IInputContextContainer contexts = _inputManager.Contexts;

            foreach (MacroSetDescriptor macroSet in macroSets)
            {
                IInputCmdContext context = contexts.New(InputContextPrefix + macroSet.Name, "common");

                foreach (MacroDescriptor macro in macroSet.Macros)
                {
                    BoundKeyFunction       function = new BoundKeyFunction(macro.Id);
                    KeyBindingRegistration binding  = CreateMacroBinding(function, macro.Name);

                    if (binding == null)
                    {
                        continue;
                    }

                    context.AddFunction(function);
                    _inputManager.RegisterBinding(in binding);
                    _inputManager.SetInputCommand(function, InputCmdHandler.FromDelegate(_ => OnMacroPress(macro), _ => OnMacroRelease(macro)));
                }
            }
        }
Пример #2
0
 /// <summary>
 ///     Creates a new instance of <see cref="InputCmdContext"/>.
 /// </summary>
 /// <param name="parent">Parent context.</param>
 internal InputCmdContext(IInputCmdContext parent)
 {
     _parent = parent;
 }