Пример #1
0
        private void Input_ButtonPressed(object sender, ButtonPressedEventArgs e)
        {
            if (e.Button.IsUseToolButton() || e.Button.IsActionButton())
            {
                Vector2           cursor  = e.Cursor.ScreenPixels;
                Interface.Desktop desktop = Game1.onScreenMenus.FirstOrDefault(menu => menu is Interface.Desktop) as Interface.Desktop;
                if (!desktop.Taskbar.IsExpanded)
                {
                    Microsoft.Xna.Framework.Rectangle area = desktop.Taskbar.ExpandButton.bounds;
                    area.Width  *= 3;
                    area.Height *= 3;
                    if (area.Contains((int)cursor.X, (int)cursor.Y))
                    {
                        desktop.Taskbar.SetActiveState(active: true);
                    }
                }
            }

            if (Config.DebugMode)
            {
                if (e.Button == SButton.I)
                {
                    Log.D("IS-ENTRY: Replacing Desktop");
                    Desktop.exitThisMenu();
                    Game1.activeClickableMenu = null;
                    Game1.onScreenMenus.Remove(Game1.onScreenMenus.FirstOrDefault(menu => menu is Interface.Desktop));
                    Desktop = new Interface.Desktop();
                    Game1.onScreenMenus.Add(Desktop);
                }
                else if (e.Button == SButton.O)
                {
                    Log.D("IS-ENTRY: Realigning Taskbar");
                    Desktop.Taskbar.RealignElements();
                }
            }
        }
Пример #2
0
 private void GameLoop_GameLaunched(object sender, GameLaunchedEventArgs e)
 {
     Desktop = new Interface.Desktop();
     Game1.onScreenMenus.Add(Desktop);
 }
Пример #3
0
        private void Input_ButtonPressed(object sender, ButtonPressedEventArgs e)
        {
            if (ModEntry.Config.DebugMode)
            {
                switch (e.Button)
                {
                case SButton.J:
                {
                    Log.D("INTERFACE: Set enabled: " + !_isEnabled);
                    _isEnabled = !_isEnabled;
                    break;
                }

                case SButton.K:
                {
                    Log.D("INTERFACE: Set new interface");
                    this.exitThisMenu();
                    Desktop newInterface = new Desktop();
                    ModEntry.Instance.Desktop = newInterface;
                    break;
                }

                case SButton.L:
                {
                    if (!_isEnabled)
                    {
                        break;
                    }
                    Log.D("INTERFACE: Clear children");
                    this.Reset();
                    break;
                }

                case SButton.OemSemicolon:
                {
                    if (!_isEnabled)
                    {
                        break;
                    }
                    Log.D("INTERFACE: Add new CharacterListMenu");
                    CharacterListMenu childMenu = new CharacterListMenu(new Point(75, 25));
                    Children.Add(childMenu);
                    break;
                }
                }
            }

            if (!Game1.game1.IsActive || !_isEnabled)
            {
                return;
            }
            e.Button.TryGetKeyboard(out Keys key);

            if (Taskbar.IsExpanded)
            {
                // Menu
                if (Game1.options.doesInputListContain(Game1.options.menuButton, key))
                {
                    Helper.Input.Suppress(e.Button);
                    return;
                }

                // Journal
                if (Game1.options.doesInputListContain(Game1.options.journalButton, key))
                {
                    Helper.Input.Suppress(e.Button);
                    return;
                }
            }
        }