From 5168b47f225b555e728dd638bc9fde81decadb4e Mon Sep 17 00:00:00 2001 From: Falki-git <72734856+Falki-git@users.noreply.github.com> Date: Fri, 17 Nov 2023 11:54:17 +0100 Subject: [PATCH] Add a few comments for module methods --- .../Sim/Definitions/PartBehaviourModule.cs | 24 +++++++++++++++++++ .../KSP/Sim/impl/PartComponentModule.cs | 16 +++++++++++++ 2 files changed, 40 insertions(+) diff --git a/src_stripped/KSP/Sim/Definitions/PartBehaviourModule.cs b/src_stripped/KSP/Sim/Definitions/PartBehaviourModule.cs index 4a9af6dc9..b77fa54bf 100644 --- a/src_stripped/KSP/Sim/Definitions/PartBehaviourModule.cs +++ b/src_stripped/KSP/Sim/Definitions/PartBehaviourModule.cs @@ -152,6 +152,9 @@ public IObjectAssemblyPart OABPart [MethodImpl(MethodImplOptions.NoInlining)] protected virtual void OnStart() => throw null; + /// + /// It appears this doesn't trigger at all? + /// > [MethodImpl(MethodImplOptions.NoInlining)] protected virtual void OnShutdown() => throw null; @@ -198,21 +201,42 @@ int IPriorityOverride.ExecutionPriorityOverride [MethodImpl(MethodImplOptions.NoInlining)] get => throw null; } + /// + /// It appears this doesn't trigger at all? + /// [MethodImpl(MethodImplOptions.NoInlining)] public void OnFixedUpdate(float deltaTime) => throw null; + /// + /// This starts triggering when the Flight scene is loaded and then keeps triggering + /// [MethodImpl(MethodImplOptions.NoInlining)] protected virtual void OnModuleFixedUpdate(float fixedDeltaTime) => throw null; + /// + /// This starts triggering as soon as the part is first placed in the OAB scene. + /// Does not trigger anymore when scene transitions fo Flight. + /// [MethodImpl(MethodImplOptions.NoInlining)] protected virtual void OnModuleOABFixedUpdate(float fixedDeltaTime) => throw null; + /// + /// This starts triggering as soon as the part is first placed in the OAB scene. + /// Keeps triggering in every scene after this. + /// OnUpdate is called every frame. + /// [MethodImpl(MethodImplOptions.NoInlining)] public virtual void OnUpdate(float deltaTime) => throw null; + /// + /// It appears this doesn't trigger at all? + /// [MethodImpl(MethodImplOptions.NoInlining)] protected virtual void OnModuleUpdate(float deltaTime) => throw null; + /// + /// It appears this doesn't trigger at all? + /// [MethodImpl(MethodImplOptions.NoInlining)] protected virtual void OnModuleOABUpdate(float deltaTime) => throw null; diff --git a/src_stripped/KSP/Sim/impl/PartComponentModule.cs b/src_stripped/KSP/Sim/impl/PartComponentModule.cs index 3f9a79031..e55e6ad46 100644 --- a/src_stripped/KSP/Sim/impl/PartComponentModule.cs +++ b/src_stripped/KSP/Sim/impl/PartComponentModule.cs @@ -58,15 +58,31 @@ protected ResourceFlowRequestBroker resourceFlowRequestBroker [MethodImpl(MethodImplOptions.NoInlining)] public virtual void ThermalUpdate(double deltaTime) => throw null; + /// + /// This triggers when the Flight scene is first loaded. When loading a game it triggers for in-flight vessels also. + /// [MethodImpl(MethodImplOptions.NoInlining)] public virtual void OnStart(double universalTime) => throw null; + /// + /// This starts triggering when vessel is first placed in Flight. Does not trigger while still in OAB. + /// Keeps triggering in every scene once it's in Flight. + /// OnUpdate is called every frame. [MethodImpl(MethodImplOptions.NoInlining)] public virtual void OnUpdate(double universalTime, double deltaUniversalTime) => throw null; + /// + /// This triggers when the part is destroyed, when leaving the Flight scene, when exiting the game. + /// It... also triggers when Flight scene is loaded? (why? maybe it's triggered when leaving the OAB scene) + /// + /// + /// [MethodImpl(MethodImplOptions.NoInlining)] public virtual void OnShutdown() => throw null; + /// + /// It appears this doesn't trigger at all? + /// [MethodImpl(MethodImplOptions.NoInlining)] public virtual void OnFinalizeCreation(double universalTime) => throw null;