Skip to content

Commit

Permalink
Removing the evends before restoring Tourists on OnDestroy in an atte…
Browse files Browse the repository at this point in the history
…mpt to prevent the exception described on #10
  • Loading branch information
Lisias committed Nov 27, 2022
1 parent 600d348 commit daa36b5
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions Source/KourageousTourists/KourageousTourists.cs
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,20 @@ public void OnDestroy() {

if (!HighLogic.LoadedSceneIsFlight) return;

GameEvents.onVesselRecovered.Remove(OnVesselRecoveredOffGame);
GameEvents.onKerbalLevelUp.Remove(OnKerbalLevelUp);
GameEvents.onCrewOnEva.Remove(OnEvaStart);
GameEvents.onCrewBoardVessel.Remove(OnCrewBoardVessel);
GameEvents.onVesselWillDestroy.Remove(OnVesselWillDestroy);
GameEvents.onVesselLoaded.Remove(OnVesselLoad);
GameEvents.onVesselChange.Remove(OnVesselChange);
GameEvents.onVesselCreate.Remove(OnVesselCreate);
GameEvents.onNewVesselCreated.Remove(OnNewVesselCreated);

GameEvents.onAttemptEva.Remove(OnAttemptEVA);
GameEvents.onFlightReady.Remove(OnFlightReady);
GameEvents.onVesselGoOffRails.Remove(OnVesselGoOffRails);

// Switch tourists back
try {
Log.dbg("VesselsLoaded: {0}", FlightGlobals.VesselsLoaded);
Expand All @@ -148,20 +162,6 @@ public void OnDestroy() {
catch(Exception e) {
Log.error(e, "Got Exception while attempting to access loaded vessels");
}

GameEvents.onVesselRecovered.Remove(OnVesselRecoveredOffGame);
GameEvents.onKerbalLevelUp.Remove(OnKerbalLevelUp);
GameEvents.onCrewOnEva.Remove(OnEvaStart);
GameEvents.onCrewBoardVessel.Remove(OnCrewBoardVessel);
GameEvents.onVesselWillDestroy.Remove(OnVesselWillDestroy);
GameEvents.onVesselLoaded.Remove(OnVesselLoad);
GameEvents.onVesselChange.Remove(OnVesselChange);
GameEvents.onVesselCreate.Remove(OnVesselCreate);
GameEvents.onNewVesselCreated.Remove(OnNewVesselCreated);

GameEvents.onAttemptEva.Remove(OnAttemptEVA);
GameEvents.onFlightReady.Remove(OnFlightReady);
GameEvents.onVesselGoOffRails.Remove(OnVesselGoOffRails);
}

private void OnEvaStart(GameEvents.FromToAction<Part, Part> evaData) {
Expand Down

0 comments on commit daa36b5

Please sign in to comment.