Esempio n. 1
0
 /// <summary>
 /// Clones the hotkey.
 /// </summary>
 /// <returns>A clone of the hotkey.</returns>
 public override Hotkey Clone(Boolean copyCallBackFunction = false)
 {
     lock (this.AccessLock)
     {
         KeyboardHotkey hotkey = new KeyboardHotkey(copyCallBackFunction ? this.CallBackFunction : null);
         hotkey.ActivationKeys = new HashSet <Key>(this.ActivationKeys);
         return(hotkey);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Copies the hotkey to another hotkey. A new hotkey is created if null is provided.
        /// </summary>
        /// <returns>A copy of the hotkey.</returns>
        public override Hotkey CopyTo(Hotkey hotkey, Boolean copyCallBackFunction = false)
        {
            lock (this.AccessLock)
            {
                KeyboardHotkey keyboardHotkey = hotkey as KeyboardHotkey;

                if (keyboardHotkey == null)
                {
                    return(this.Clone(copyCallBackFunction));
                }

                keyboardHotkey.ActivationKeys = new HashSet <Key>(this.ActivationKeys);

                if (copyCallBackFunction)
                {
                    keyboardHotkey.SetCallBackFunction(this.CallBackFunction);
                }

                return(keyboardHotkey);
            }
        }
Esempio n. 3
0
 public void SetHotkey(KeyboardHotkey keyboardHotkey)
 {
     this.KeyboardHotkey = (keyboardHotkey?.CopyTo(this.KeyboardHotkey) as KeyboardHotkey) ?? new KeyboardHotkey();
 }
Esempio n. 4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="KeyboardHotkeyBuilder" /> class.
        /// </summary>
        /// <param name="callBackFunction">The callback function for this hotkey.</param>
        /// <param name="keyboardHotkey">The keyboard hotkey to edit.</param>
        public KeyboardHotkeyBuilder(Action callBackFunction, KeyboardHotkey keyboardHotkey = null) : base(callBackFunction)
        {
            this.SetHotkey(keyboardHotkey);

            this.Subscription = EngineCore.GetInstance().Input?.GetKeyboardCapture().WeakSubscribe(this);
        }