public static void onUpdate(object sender, EventArgs args) { try { Multiplayer.update(); // We need our load menu to be able to do things if (Game1.activeClickableMenu is TitleMenu) { if (TitleMenu.subMenu != null && (TitleMenu.subMenu.GetType() == typeof(LoadGameMenu))) { LoadGameMenu oldLoadMenu = ( LoadGameMenu )TitleMenu.subMenu; NewLoadMenu newLoadMenu = new NewLoadMenu(); IPrivateField <object> task = instance.Helper.Reflection.GetPrivateField <object>(oldLoadMenu, "_initTask"); newLoadMenu._initTask = (Task <List <SFarmer> >)task.GetValue(); TitleMenu.subMenu = newLoadMenu; } } prevMenu = Game1.activeClickableMenu; } catch (Exception e) { Log.error("Exception during update: " + e); } }
/// <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> public static void OnUpdateTicked(object sender, UpdateTickedEventArgs e) { if (DEBUG) { Game1.options.pauseWhenOutOfFocus = false; } try { IPlatform.instance.update(); Multiplayer.update(); // We need our load menu to be able to do things if (Game1.activeClickableMenu is TitleMenu) { if (TitleMenu.subMenu is LoadGameMenu) { Log.debug("Found vanilla load game menu, replacing with ours."); Multiplayer.lobby = true; LoadGameMenu oldLoadMenu = ( LoadGameMenu )TitleMenu.subMenu; NewLoadMenu newLoadMenu = new NewLoadMenu(); IReflectedField <object> task = instance.Helper.Reflection.GetField <object>(oldLoadMenu, "_initTask"); newLoadMenu._initTask = (Task <List <SFarmer> >)task.GetValue(); Log.debug("Stole the save listing task, set it to: " + task); TitleMenu.subMenu = newLoadMenu; } } prevMenu = Game1.activeClickableMenu; } catch (Exception ex) { Log.error("Exception during update: " + ex); } }