Beispiel #1
0
        /// <summary>Raised after the game state is updated (≈60 times per second).</summary>
        /// <param name="sender">The event sender.</param>
        /// <param name="e">The event arguments.</param>
        private void onUpdateTicked(object sender, UpdateTickedEventArgs e)
        {
            /*
             * if (Game1.isEating != wasEating)
             * {
             *  Log.Async("Eating:" + Game1.isEating);
             *  Log.Async(Game1.player.itemToEat + " " + ((Game1.player.itemToEat != null) ? Game1.player.itemToEat.getStack() : -1));
             *  Log.Async(Game1.player.ActiveObject + " " +( (Game1.player.ActiveObject != null) ? Game1.player.ActiveObject.getStack() : -1));
             * }
             * wasEating = Game1.isEating;
             */

            if (Game1.activeClickableMenu != null)
            {
                if (Game1.activeClickableMenu is GeodeMenu)
                {
                    GeodeMenu menu = Game1.activeClickableMenu as GeodeMenu;
                    if (menu.geodeSpot.item != null & !hadGeode)
                    {
                        gainLuckExp(10);
                    }
                    hadGeode = (menu.geodeSpot.item != null);
                }
                else if (Game1.activeClickableMenu is LevelUpMenu)
                {
                    LevelUpMenu menu  = Game1.activeClickableMenu as LevelUpMenu;
                    int         skill = Helper.Reflection.GetField <int>(menu, "currentSkill").GetValue();
                    if (skill == 5)
                    {
                        int level = Helper.Reflection.GetField <int>(menu, "currentLevel").GetValue();
                        Game1.activeClickableMenu = new LuckLevelUpMenu(skill, level);
                    }
                }
            }
        }
        /// <summary>Perform any logic needed on update while the animation is active.</summary>
        /// <param name="playerAnimationID">The player's current animation ID.</param>
        public override void Update(int playerAnimationID)
        {
            GeodeMenu menu = (GeodeMenu)Game1.activeClickableMenu;

            this.ApplySkips(
                () => menu.update(Game1.currentGameTime)
                );
        }
Beispiel #3
0
        /// <summary>Perform any logic needed on update while the animation is active.</summary>
        /// <param name="playerAnimationID">The player's current animation ID.</param>
        public void Update(int playerAnimationID)
        {
            GeodeMenu menu = (GeodeMenu)Game1.activeClickableMenu;

            for (int i = 1; i < this.Multiplier; i++)
            {
                menu.update(Game1.currentGameTime);
            }
        }
Beispiel #4
0
        /// <summary>Raised after the game state is updated (≈60 times per second).</summary>
        /// <param name="sender">The event sender.</param>
        /// <param name="e">The event arguments.</param>
        private void onUpdateTicked(object sender, UpdateTickedEventArgs e)
        {
            /*
             * if (Game1.isEating != wasEating)
             * {
             *  Log.Async("Eating:" + Game1.isEating);
             *  Log.Async(Game1.player.itemToEat + " " + ((Game1.player.itemToEat != null) ? Game1.player.itemToEat.getStack() : -1));
             *  Log.Async(Game1.player.ActiveObject + " " +( (Game1.player.ActiveObject != null) ? Game1.player.ActiveObject.getStack() : -1));
             * }
             * wasEating = Game1.isEating;
             */

            if (Game1.activeClickableMenu != null)
            {
                if (Game1.activeClickableMenu is GeodeMenu)
                {
                    GeodeMenu menu = Game1.activeClickableMenu as GeodeMenu;
                    if (menu.geodeSpot.item != null & !hadGeode)
                    {
                        gainLuckExp(10);
                    }
                    hadGeode = (menu.geodeSpot.item != null);
                }
                else if (Game1.activeClickableMenu is LevelUpMenu)
                {
                    LevelUpMenu menu  = Game1.activeClickableMenu as LevelUpMenu;
                    int         skill = (int)Util.GetInstanceField(typeof(LevelUpMenu), menu, "currentSkill");
                    if (skill == 5)
                    {
                        int level = (int)Util.GetInstanceField(typeof(LevelUpMenu), menu, "currentLevel");
                        Game1.activeClickableMenu = new LuckLevelUpMenu(skill, level);
                    }
                }
            }

            // This can't just do when it toggles the variables get modified
            if (Game1.newDay && Game1.fadeToBlackAlpha > 0.95f)
            {
                cacheLevels = Game1.player.newLevels.ToList();
                cacheItems  = Game1.getFarm().shippingBin.ToList();
            }
        }
        public static List <FarmerSprite.AnimationFrame> Adjust(List <FarmerSprite.AnimationFrame> frames, GeodeMenu menu)
        {
            menu.geodeAnimationTimer = 50;
            for (int i = 0; i < frames.Count; i++)
            {   // http://stackoverflow.com/questions/414981/directly-modifying-listt-elements
                var frame = frames[i];
                frame.milliseconds        = 50;
                frames[i]                 = frame;
                menu.geodeAnimationTimer += 50;
            }

            return(frames);
        }