private void SceneExitController_SetState(On.RoR2.SceneExitController.orig_SetState orig, SceneExitController self, SceneExitController.ExitState newState) { bool approved = newState != self.exitState; orig(self, newState); if (!approved) { return; } switch (self.exitState) { case SceneExitController.ExitState.Idle: preventMoneyDrops = false; break; case SceneExitController.ExitState.ExtractExp: if (preventModUseOnStageEnd) { preventMoneyDrops = true; } if (refundOnStageEnd) { RefundMoneyPackPickups(); } break; default: if (preventModUseOnStageEnd) { preventMoneyDrops = true; } break; } }
private void SceneExitController_SetState(On.RoR2.SceneExitController.orig_SetState orig, SceneExitController self, SceneExitController.ExitState newState) { orig(self, newState); if (newState == SceneExitController.ExitState.TeleportOut) { IsAdvancingStage = true; } }