Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
            }
        }
Beispiel #4
0
        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;
            }
        }