private static RunReport RunReport_Generate(On.RoR2.RunReport.orig_Generate orig, Run run, GameEndingDef gameEnding) { ignoreFakes = true; var retv = orig(run, gameEnding); ignoreFakes = false; return(retv); }
private RunReport RunReport_Generate(On.RoR2.RunReport.orig_Generate orig, Run run, GameEndingDef gameEnding) { // Temporarily add the allies as a "player" // Sadly, singleplayer runs don't make this show up still... try { foreach (var ally in allies) { if (ally.gameObject.GetComponent <PlayerCharacterMasterController>() == null) { ally.gameObject.AddComponent <PlayerCharacterMasterController>(); } if (ally.gameObject.GetComponent <PlayerStatsComponent>() == null) { ally.gameObject.AddComponent <PlayerStatsComponent>(); } } return(orig(run, gameEnding)); } finally { foreach (var ally in allies) { PlayerCharacterMasterController controller = ally.gameObject.GetComponent <PlayerCharacterMasterController>(); if (controller) { PlayerStatsComponent stats = controller.gameObject.GetComponent <PlayerStatsComponent>(); if (stats) { Destroy(stats); } Destroy(controller); } } } }