private void KeyReleased(object sender, DoomKey code) { if (this.events.Count < 64) { this.events.Add(new DoomEvent(EventType.KeyUp, code)); } }
public static bool IsKeyPressed(DoomKey key) { return(Events.Any(e => { return e.Type == EventType.KeyDown && e.Key == key; } )); }
private bool CheckFunctionKey(DoomKey key) { switch (key) { case DoomKey.F1: menu.ShowHelpScreen(); return(true); case DoomKey.F2: menu.ShowSaveScreen(); return(true); case DoomKey.F3: menu.ShowLoadScreen(); return(true); case DoomKey.F4: menu.ShowVolumeControl(); return(true); case DoomKey.F6: menu.QuickSave(); return(true); case DoomKey.F7: if (currentState == ApplicationState.Game) { menu.EndGame(); } else { options.Sound.StartSound(Sfx.OOF); } return(true); case DoomKey.F8: renderer.DisplayMessage = !renderer.DisplayMessage; if (currentState == ApplicationState.Game && game.State == GameState.Level) { string msg; if (renderer.DisplayMessage) { msg = DoomInfo.Strings.MSGON; } else { msg = DoomInfo.Strings.MSGOFF; } game.World.ConsolePlayer.SendMessage(msg); } menu.StartSound(Sfx.SWTCHN); return(true); case DoomKey.F9: menu.QuickLoad(); return(true); case DoomKey.F10: menu.Quit(); return(true); case DoomKey.F11: var gcl = renderer.GammaCorrectionLevel; gcl++; if (gcl > renderer.MaxGammaCorrectionLevel) { gcl = 0; } renderer.GammaCorrectionLevel = gcl; if (currentState == ApplicationState.Game && game.State == GameState.Level) { string msg; if (gcl == 0) { msg = DoomInfo.Strings.GAMMALVL0; } else { msg = "Gamma correction level " + gcl; } game.World.ConsolePlayer.SendMessage(msg); } return(true); case DoomKey.Add: case DoomKey.Quote: if (currentState == ApplicationState.Game && game.State == GameState.Level && game.World.AutoMap.Visible) { return(false); } else { renderer.WindowSize = Math.Min(renderer.WindowSize + 1, renderer.MaxWindowSize); options.Sound.StartSound(Sfx.STNMOV); return(true); } case DoomKey.Subtract: case DoomKey.Hyphen: if (currentState == ApplicationState.Game && game.State == GameState.Level && game.World.AutoMap.Visible) { return(false); } else { renderer.WindowSize = Math.Max(renderer.WindowSize - 1, 0); options.Sound.StartSound(Sfx.STNMOV); return(true); } default: return(false); } }
public static char GetChar(this DoomKey key) { switch (key) { case DoomKey.A: return('a'); case DoomKey.B: return('b'); case DoomKey.C: return('c'); case DoomKey.D: return('d'); case DoomKey.E: return('e'); case DoomKey.F: return('f'); case DoomKey.G: return('g'); case DoomKey.H: return('h'); case DoomKey.I: return('i'); case DoomKey.J: return('j'); case DoomKey.K: return('k'); case DoomKey.L: return('l'); case DoomKey.M: return('m'); case DoomKey.N: return('n'); case DoomKey.O: return('o'); case DoomKey.P: return('p'); case DoomKey.Q: return('q'); case DoomKey.R: return('r'); case DoomKey.S: return('s'); case DoomKey.T: return('t'); case DoomKey.U: return('u'); case DoomKey.V: return('v'); case DoomKey.W: return('w'); case DoomKey.X: return('x'); case DoomKey.Y: return('y'); case DoomKey.Z: return('z'); case DoomKey.Num0: return('0'); case DoomKey.Num1: return('1'); case DoomKey.Num2: return('2'); case DoomKey.Num3: return('3'); case DoomKey.Num4: return('4'); case DoomKey.Num5: return('5'); case DoomKey.Num6: return('6'); case DoomKey.Num7: return('7'); case DoomKey.Num8: return('8'); case DoomKey.Num9: return('9'); case DoomKey.LBracket: return('['); case DoomKey.RBracket: return(']'); case DoomKey.Semicolon: return(';'); case DoomKey.Comma: return(','); case DoomKey.Period: return('.'); case DoomKey.Quote: return('"'); case DoomKey.Slash: return('/'); case DoomKey.Backslash: return('\\'); case DoomKey.Equal: return('='); case DoomKey.Hyphen: return('-'); case DoomKey.Space: return(' '); case DoomKey.Add: return('+'); case DoomKey.Subtract: return('-'); case DoomKey.Multiply: return('*'); case DoomKey.Divide: return('/'); case DoomKey.Numpad0: return('0'); case DoomKey.Numpad1: return('1'); case DoomKey.Numpad2: return('2'); case DoomKey.Numpad3: return('3'); case DoomKey.Numpad4: return('4'); case DoomKey.Numpad5: return('5'); case DoomKey.Numpad6: return('6'); case DoomKey.Numpad7: return('7'); case DoomKey.Numpad8: return('8'); case DoomKey.Numpad9: return('9'); default: return('\0'); } }
public static string ToString(DoomKey key) { switch (key) { case DoomKey.A: return("a"); case DoomKey.B: return("b"); case DoomKey.C: return("c"); case DoomKey.D: return("d"); case DoomKey.E: return("e"); case DoomKey.F: return("f"); case DoomKey.G: return("g"); case DoomKey.H: return("h"); case DoomKey.I: return("i"); case DoomKey.J: return("j"); case DoomKey.K: return("k"); case DoomKey.L: return("l"); case DoomKey.M: return("m"); case DoomKey.N: return("n"); case DoomKey.O: return("o"); case DoomKey.P: return("p"); case DoomKey.Q: return("q"); case DoomKey.R: return("r"); case DoomKey.S: return("s"); case DoomKey.T: return("t"); case DoomKey.U: return("u"); case DoomKey.V: return("v"); case DoomKey.W: return("w"); case DoomKey.X: return("x"); case DoomKey.Y: return("y"); case DoomKey.Z: return("z"); case DoomKey.Num0: return("num0"); case DoomKey.Num1: return("num1"); case DoomKey.Num2: return("num2"); case DoomKey.Num3: return("num3"); case DoomKey.Num4: return("num4"); case DoomKey.Num5: return("num5"); case DoomKey.Num6: return("num6"); case DoomKey.Num7: return("num7"); case DoomKey.Num8: return("num8"); case DoomKey.Num9: return("num9"); case DoomKey.Escape: return("escape"); case DoomKey.LControl: return("lcontrol"); case DoomKey.LShift: return("lshift"); case DoomKey.LAlt: return("lalt"); case DoomKey.LSystem: return("lsystem"); case DoomKey.RControl: return("rcontrol"); case DoomKey.RShift: return("rshift"); case DoomKey.RAlt: return("ralt"); case DoomKey.RSystem: return("rsystem"); case DoomKey.Menu: return("menu"); case DoomKey.LBracket: return("lbracket"); case DoomKey.RBracket: return("rbracket"); case DoomKey.Semicolon: return("semicolon"); case DoomKey.Comma: return("comma"); case DoomKey.Period: return("period"); case DoomKey.Quote: return("quote"); case DoomKey.Slash: return("slash"); case DoomKey.Backslash: return("backslash"); case DoomKey.Tilde: return("tilde"); case DoomKey.Equal: return("equal"); case DoomKey.Hyphen: return("hyphen"); case DoomKey.Space: return("space"); case DoomKey.Enter: return("enter"); case DoomKey.Backspace: return("backspace"); case DoomKey.Tab: return("tab"); case DoomKey.PageUp: return("pageup"); case DoomKey.PageDown: return("pagedown"); case DoomKey.End: return("end"); case DoomKey.Home: return("home"); case DoomKey.Insert: return("insert"); case DoomKey.Delete: return("delete"); case DoomKey.Add: return("add"); case DoomKey.Subtract: return("subtract"); case DoomKey.Multiply: return("multiply"); case DoomKey.Divide: return("divide"); case DoomKey.Left: return("left"); case DoomKey.Right: return("right"); case DoomKey.Up: return("up"); case DoomKey.Down: return("down"); case DoomKey.Numpad0: return("numpad0"); case DoomKey.Numpad1: return("numpad1"); case DoomKey.Numpad2: return("numpad2"); case DoomKey.Numpad3: return("numpad3"); case DoomKey.Numpad4: return("numpad4"); case DoomKey.Numpad5: return("numpad5"); case DoomKey.Numpad6: return("numpad6"); case DoomKey.Numpad7: return("numpad7"); case DoomKey.Numpad8: return("numpad8"); case DoomKey.Numpad9: return("numpad9"); case DoomKey.F1: return("f1"); case DoomKey.F2: return("f2"); case DoomKey.F3: return("f3"); case DoomKey.F4: return("f4"); case DoomKey.F5: return("f5"); case DoomKey.F6: return("f6"); case DoomKey.F7: return("f7"); case DoomKey.F8: return("f8"); case DoomKey.F9: return("f9"); case DoomKey.F10: return("f10"); case DoomKey.F11: return("f11"); case DoomKey.F12: return("f12"); case DoomKey.F13: return("f13"); case DoomKey.F14: return("f14"); case DoomKey.F15: return("f15"); case DoomKey.Pause: return("pause"); default: return("unknown"); } }
public DoomEvent(EventType type, DoomKey key) { this.type = type; this.key = key; }