/// <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) ); }
/// <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); } }
/// <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); }