private void SetupKeyByDefault() { if (_collection?.Macro == null || _hotkeyBox == null) { return; } if (_collection.Macro.Key != SDL.SDL_Keycode.SDLK_UNKNOWN) { SDL.SDL_Keymod mod = SDL.SDL_Keymod.KMOD_NONE; if (_collection.Macro.Alt) { mod |= SDL.SDL_Keymod.KMOD_ALT; } if (_collection.Macro.Shift) { mod |= SDL.SDL_Keymod.KMOD_SHIFT; } if (_collection.Macro.Ctrl) { mod |= SDL.SDL_Keymod.KMOD_CTRL; } _hotkeyBox.SetKey(_collection.Macro.Key, mod); } }
public MacroControl(string name) { CanMove = true; HotkeyBox box = new HotkeyBox(); box.HotkeyChanged += BoxOnHotkeyChanged; box.HotkeyCancelled += BoxOnHotkeyCancelled; Add(box); Add(new NiceButton(0, box.Height + 3, 170, 25, ButtonAction.Activate, "+ Create macro button", 0, IO.Resources.TEXT_ALIGN_TYPE.TS_LEFT) { ButtonParameter = 2, IsSelectable = false }); Add(new NiceButton(0, box.Height + 30, 50, 25, ButtonAction.Activate, "Add") { IsSelectable = false }); Add(new NiceButton(52, box.Height + 30, 50, 25, ButtonAction.Activate, "Remove") { ButtonParameter = 1, IsSelectable = false }); Add(_collection = new MacroCollectionControl(name, 280, 280) { Y = box.Height + 50 + 10 }); if (_collection.Macro.Key != SDL.SDL_Keycode.SDLK_UNKNOWN) { SDL.SDL_Keymod mod = SDL.SDL_Keymod.KMOD_NONE; if (_collection.Macro.Alt) { mod |= SDL.SDL_Keymod.KMOD_ALT; } if (_collection.Macro.Shift) { mod |= SDL.SDL_Keymod.KMOD_SHIFT; } if (_collection.Macro.Ctrl) { mod |= SDL.SDL_Keymod.KMOD_CTRL; } box.SetKey(_collection.Macro.Key, mod); } }
public MacroControl(string name) { CanMove = true; HotkeyBox box = new HotkeyBox(); box.HotkeyChanged += BoxOnHotkeyChanged; box.HotkeyCancelled += BoxOnHotkeyCancelled; Add(box); Add(new NiceButton(0, box.Height + 3, 50, 25, ButtonAction.Activate, "Add") { IsSelectable = false }); Add(new NiceButton(52, box.Height + 3, 50, 25, ButtonAction.Activate, "Remove") { ToPage = 1, IsSelectable = false }); Add(_collection = new MacroCollectionControl(name, 280, 280) { Y = box.Height + 25 + 10 }); if (_collection.Macro.Key != SDL.SDL_Keycode.SDLK_UNKNOWN) { SDL.SDL_Keymod mod = SDL.SDL_Keymod.KMOD_NONE; if (_collection.Macro.Alt) { mod |= SDL.SDL_Keymod.KMOD_LALT; } if (_collection.Macro.Shift) { mod |= SDL.SDL_Keymod.KMOD_LSHIFT; } if (_collection.Macro.Ctrl) { mod |= SDL.SDL_Keymod.KMOD_LCTRL; } box.SetKey(_collection.Macro.Key, mod); } }
private void BoxOnHotkeyChanged(object sender, EventArgs e) { HotkeyBox b = (HotkeyBox)sender; bool shift = (b.Mod & SDL.SDL_Keymod.KMOD_SHIFT) != SDL.SDL_Keymod.KMOD_NONE; bool alt = (b.Mod & SDL.SDL_Keymod.KMOD_ALT) != SDL.SDL_Keymod.KMOD_NONE; bool ctrl = (b.Mod & SDL.SDL_Keymod.KMOD_CTRL) != SDL.SDL_Keymod.KMOD_NONE; if (b.Key != SDL.SDL_Keycode.SDLK_UNKNOWN && CUOEnviroment.Client.GetScene <GameScene>().Macros.FindMacro(b.Key, alt, ctrl, shift) != null) { MessageBoxGump gump = new MessageBoxGump(250, 250, "This key combination\nalready exists.", s => { b.SetKey(SDL.SDL_Keycode.SDLK_UNKNOWN, SDL.SDL_Keymod.KMOD_NONE); }); UIManager.Add(gump); } else { Macro m = _collection.Macro; m.Key = b.Key; m.Shift = shift; m.Alt = alt; m.Ctrl = ctrl; } }