private void OnKeyDown(object sender, SDL.SDL_KeyboardEvent e) { if (TargetManager.IsTargeting && e.keysym.sym == SDL.SDL_Keycode.SDLK_ESCAPE && Input.Keyboard.IsModPressed(e.keysym.mod, SDL.SDL_Keymod.KMOD_NONE)) { TargetManager.CancelTarget(); } _isShiftDown = Input.Keyboard.IsModPressed(e.keysym.mod, SDL.SDL_Keymod.KMOD_SHIFT); if (e.keysym.sym == SDL.SDL_Keycode.SDLK_TAB) { if (!World.Player.InWarMode && Engine.Profile.Current.HoldDownKeyTab) { GameActions.SetWarMode(true); } } if (_keycodeDirection.TryGetValue(e.keysym.sym, out Direction dWalk)) { WorldViewportGump viewport = Engine.UI.GetByLocalSerial <WorldViewportGump>(); SystemChatControl chat = viewport?.FindControls <SystemChatControl>().SingleOrDefault(); if (chat != null && chat.textBox.Text.Length == 0) { World.Player.Walk(dWalk, false); } } if ((e.keysym.mod & SDL2.SDL.SDL_Keymod.KMOD_NUM) != SDL2.SDL.SDL_Keymod.KMOD_NUM) { if (_keycodeDirectionNum.TryGetValue(e.keysym.sym, out Direction dWalkN)) { World.Player.Walk(dWalkN, false); } } bool isshift = (e.keysym.mod & SDL.SDL_Keymod.KMOD_SHIFT) != SDL.SDL_Keymod.KMOD_NONE; bool isalt = (e.keysym.mod & SDL.SDL_Keymod.KMOD_ALT) != SDL.SDL_Keymod.KMOD_NONE; bool isctrl = (e.keysym.mod & SDL.SDL_Keymod.KMOD_CTRL) != SDL.SDL_Keymod.KMOD_NONE; _useObjectHandles = isshift && isctrl; Macro macro = _macroManager.FindMacro(e.keysym.sym, isalt, isctrl, isshift); if (macro != null) { _macroManager.SetMacroToExecute(macro.FirstNode); _macroManager.WaitForTargetTimer = 0; _macroManager.Update(); } //if (_hotkeysManager.TryExecuteIfBinded(e.keysym.sym, e.keysym.mod, out Action action)) //{ // action(); //} }
/// <summary> /// On Dispose save XML File /// </summary> public override void Dispose() { if (_isListModified) { IgnoreManager.SaveIgnoreList(); } if (TargetManager.IsTargeting) { TargetManager.CancelTarget(); } base.Dispose(); }
private void OnKeyDown(object sender, SDL.SDL_KeyboardEvent e) { if (TargetManager.IsTargeting && e.keysym.sym == SDL.SDL_Keycode.SDLK_ESCAPE && Input.Keyboard.IsModPressed(e.keysym.mod, SDL.SDL_Keymod.KMOD_NONE)) { TargetManager.CancelTarget(); } _isShiftDown = Input.Keyboard.IsModPressed(e.keysym.mod, SDL.SDL_Keymod.KMOD_SHIFT); if (e.keysym.sym == SDL.SDL_Keycode.SDLK_TAB) { if (!World.Player.InWarMode) { GameActions.SetWarMode(true); } } }
public override void OnButtonClick(int buttonID) { switch ((TargetButton)buttonID) { case TargetButton.Target_1: if (!TargetManager.IsTargeting) { TargetManager.SetTargeting(CursorTarget.Target_1, 0, TargetType.Neutral); } else { TargetManager.CancelTarget(); } break; case TargetButton.Target_2: if (!TargetManager.IsTargeting) { TargetManager.SetTargeting(CursorTarget.Target_2, 0, TargetType.Neutral); } else { TargetManager.CancelTarget(); } break; case TargetButton.Target_3: if (!TargetManager.IsTargeting) { TargetManager.SetTargeting(CursorTarget.Target_3, 0, TargetType.Neutral); } else { TargetManager.CancelTarget(); } break; case TargetButton.Target_4: if (!TargetManager.IsTargeting) { TargetManager.SetTargeting(CursorTarget.Target_4, 0, TargetType.Neutral); } else { TargetManager.CancelTarget(); } break; case TargetButton.Target_5: if (!TargetManager.IsTargeting) { TargetManager.SetTargeting(CursorTarget.Target_5, 0, TargetType.Neutral); } else { TargetManager.CancelTarget(); } break; //case TargetButton.Object_1: // if (!TargetManager.IsTargeting) // TargetManager.SetTargeting(CursorTarget.Object_1, 0, TargetType.Neutral); // else // TargetManager.CancelTarget(); // break; //case TargetButton.Object_2: // if (!TargetManager.IsTargeting) // TargetManager.SetTargeting(CursorTarget.Object_2, 0, TargetType.Neutral); // else // TargetManager.CancelTarget(); // break; //case TargetButton.Object_3: // if (!TargetManager.IsTargeting) // TargetManager.SetTargeting(CursorTarget.Object_3, 0, TargetType.Neutral); // else // TargetManager.CancelTarget(); // break; //case TargetButton.Object_4: // if (!TargetManager.IsTargeting) // TargetManager.SetTargeting(CursorTarget.Object_4, 0, TargetType.Neutral); // else // TargetManager.CancelTarget(); // break; //case TargetButton.Object_5: // if (!TargetManager.IsTargeting) // TargetManager.SetTargeting(CursorTarget.Object_5, 0, TargetType.Neutral); // else // TargetManager.CancelTarget(); // break; } SetName(); }