예제 #1
0
        static void Input_ButtonPressed(object sender, StardewModdingAPI.Events.ButtonPressedEventArgs e)
        {
            if (!StardewModdingAPI.Context.IsWorldReady)
            {
                return;
            }
            //xTile.Dimensions.Location location = new xTile.Dimensions.Location((int)Game1.player.Position.X + Game1.tileSize / 2, (int)Game1.player.Position.Y + Game1.tileSize / 2);
            //ShowTileInfo(location);

            SetFacingDir();

            if (Game1.activeClickableMenu == null)
            {
                if (Inputs.IsTTSMapCheckUnderneathButton(e.Button, e.IsDown))
                {
                    SpeakUnderneathDescription();
                }
                else if (Inputs.IsTTSMapCheckButton(e.Button))
                {
                    //ModEntry.Log($"dir: {Game1.player.getDirection()}, fdir: {Game1.player.getFacingDirection()}");
                    string descr = FindBarrierDescription();
                    if (descr.Length > 0)
                    {
                        TextToSpeech.Speak("You feel a " + descr);
                    }
                }
                else if (false && Inputs.IsGameMenuButton(e.Button))
                {
                    Game1.activeClickableMenu = new StardewValley.Menus.GameMenu(true);
                    Menus.AccessMenu menu = ModEntry.GetInstance().SelectMenu(Game1.activeClickableMenu);
                    (menu as Menus.AccessGameMenu).ButtonPressed(e.Button);
                }
            }
        }
예제 #2
0
        public override void ButtonPressed(SButton button)
        {
            if (StardewValley.Game1.activeClickableMenu is StardewValley.Menus.TitleMenu titleMenu &&
                ModEntry.GetHelper().Reflection.GetField <bool>(titleMenu, "isTransitioningButtons").GetValue())
            {
                return;
            }

            if (StardewValley.Menus.TitleMenu.subMenu == null && StardewValley.Game1.activeClickableMenu is StardewValley.Menus.TitleMenu)
            {
                AccessMenu menu = ModEntry.GetInstance().SelectMenu(StardewValley.Game1.activeClickableMenu);
                if (menu != null)
                {
                    menu.ButtonPressed(button);
                }
                return;
            }
            base.ButtonPressed(button);
        }
예제 #3
0
        public override void ButtonPressed(SButton button)
        {
            if (!ModEntry.GetHelper().Reflection.GetField <bool>(base.stardewMenu, "titleInPosition").GetValue())
            {
                return;
            }

            if (StardewValley.Menus.TitleMenu.subMenu != null)
            {
                AccessMenu menu = ModEntry.GetInstance().SelectMenu(StardewValley.Menus.TitleMenu.subMenu);
                if (menu != null)
                {
                    menu.ButtonPressed(button);
                }
                return;
            }

            base.ButtonPressed(button);
            if (Inputs.IsMenuTitleMuteButton(button))
            {
                muteButton.Activate();
            }
        }