void EventInput_KeyDown(object sender, Full_Fruity_Squash.KeyEventArgs e) { if (_subscriber == null) return; _subscriber.RecieveSpecialInput(e.KeyCode); }
void EventInput_CharEntered(object sender, Full_Fruity_Squash.CharacterEventArgs e) { if (_subscriber == null) return; if (char.IsControl(e.Character)) { //ctrl-v if (e.Character == 0x16) { //XNA runs in Multiple Thread Apartment state, which cannot recieve clipboard Thread thread = new Thread(PasteThread); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); _subscriber.RecieveTextInput(_pasteResult); } else { _subscriber.RecieveCommandInput(e.Character); } } else { _subscriber.RecieveTextInput(e.Character); } }