/// <summary> /// Gestisce il rilascio di un tasto della tastiera /// </summary> /// <param name="e"> </param> protected override void OnKeyDown(KeyEventArgs e) { KeyboardMouseEventArgs a = new KeyboardMouseEventArgs(e, KeyboardMouseEventID.Key_Down); queue.addEvent(a); scenes.HandleEvent(this.queue); }
/// <summary> /// Gestisce il movimento della rotella del mouse /// </summary> /// <param name="e"> </param> protected override void OnMouseWheel(MouseEventArgs e) { KeyboardMouseEventArgs a = new KeyboardMouseEventArgs(e, KeyboardMouseEventID.Mouse_Wheel); queue.addEvent(a); scenes.HandleEvent(this.queue); }
/// <summary> /// Aggiunge un evento in fondo alla coda. /// </summary> /// <param name="e">Evento da inserire.</param> public void addEvent(KeyboardMouseEventArgs e) { if ((e != null) && (!e.isNullKeyEvent() || !e.isNullMouseEvent())) { evtList.Add(e); } }
/// <summary> /// Estrae l'evento in testa alla coda. Può restituire pure null. /// </summary> /// <returns>Un KeyboardEventArgs, se la coda non è vuota, null altrimenti.</returns> public KeyboardMouseEventArgs extractEvent() { if (evtList.Count != 0) { KeyboardMouseEventArgs output = evtList.ElementAt <KeyboardMouseEventArgs>(0); evtList.RemoveAt(0); return(output); } else { return(null); } }