+ "summary": "Class Module_SolarPanel PartBehaviourModule for the solar panel module, using Data_SolarPanel and backed by PartComponentModule_SolarPanel. Inheritance object KerbalMonoBehaviour PartBehaviourModule Module_Deployable Module_SolarPanel Implements IPartModule IFixedUpdate IPriorityOverride IUpdate IObjectAssemblyPartModule IMultipleDragCube ILateUpdate Inherited Members Module_Deployable.DRAGCUBE_PACKED_NAME Module_Deployable.DRAGCUBE_RETRACTED_NAME Module_Deployable.DRAGCUBE_EXTENDED_NAME Module_Deployable.EPSILON Module_Deployable.DefaultDragCubeNames Module_Deployable.dataDeployable Module_Deployable.animator Module_Deployable.panelRotationTransform Module_Deployable.secondaryTransform Module_Deployable.hasPivot Module_Deployable.trackingBody Module_Deployable.trackingTransform Module_Deployable.dragCubeNames Module_Deployable._trackingLOS Module_Deployable._blockingObject Module_Deployable._actionPendingCompletion Module_Deployable._actionExtend Module_Deployable.OnEnable() Module_Deployable.OnInitializeVisuals() Module_Deployable.OnModuleFixedUpdate(float) Module_Deployable.UpdateDeployment(float) Module_Deployable.UpdateAerodynamics() Module_Deployable.OnLateUpdate() Module_Deployable.UpdateDeployStateToFullStop() Module_Deployable.OnToggleExtendChanged(bool) Module_Deployable.Extend() Module_Deployable.Retract() Module_Deployable.HasTrackerReturnedToOrigin(float) Module_Deployable.OnAnimStateEnter(Animator, int) Module_Deployable.GetTrackingBodyTransformFrame() Module_Deployable.SetDeployActionAvailability(bool, bool) Module_Deployable.CalculateTracking(float) Module_Deployable.GetDragCubeNames() Module_Deployable.AssumeDragCubePosition(string) Module_Deployable.UsesProceduralDragCubes() Module_Deployable.IsMultipleCubesActive Module_Deployable.CurrentAnimNormalizedTime PartBehaviourModule.DataModules PartBehaviourModule.ModuleActions PartBehaviourModule.ThermalUpdate(double) PartBehaviourModule.GetInfo() PartBehaviourModule.IsStageable() PartBehaviourModule.OnActive() PartBehaviourModule.OnStart() PartBehaviourModule.Shutdown() PartBehaviourModule.Initialize() PartBehaviourModule.SetLegacyData(PartBehavior, ISimulationObjectView) PartBehaviourModule.Init() PartBehaviourModule.InitForDataModules() PartBehaviourModule.SetDataModuleValues(SerializedPartModule) PartBehaviourModule.InitForNewOABPart() PartBehaviourModule.RemoveResourceRequest(ResourceFlowRequestHandle) PartBehaviourModule.OnAnimStateExit(Animator, int) PartBehaviourModule.IsPhysXEnabled() PartBehaviourModule.OnFixedUpdate(float) PartBehaviourModule.OnUpdate(float) PartBehaviourModule.OnModuleUpdate(float) PartBehaviourModule.OnModuleOABUpdate(float) PartBehaviourModule.OnActionActivateEventMessage(MessageCenterMessage) PartBehaviourModule.AddActionGroupAction(ModuleActionGroupAction) PartBehaviourModule.AddActionGroupAction(Action<bool>, KSPActionGroup, string, ModuleProperty<bool>) PartBehaviourModule.AddActionGroupAction(Action, KSPActionGroup, string) PartBehaviourModule.OnActionGroupMappingChanged(MessageCenterMessage) PartBehaviourModule.TryGetRendererMaterialsByName(List<string>, out List<Material>) PartBehaviourModule.IsActive PartBehaviourModule.LegacyWriteOverTarget PartBehaviourModule.PartBackingMode PartBehaviourModule.part PartBehaviourModule.ComponentModule PartBehaviourModule.resourceFlowRequestBroker PartBehaviourModule.partOwner PartBehaviourModule.vessel PartBehaviourModule.simulationObject PartBehaviourModule.transform PartBehaviourModule.moduleIsEnabled PartBehaviourModule.IsInitialized PartBehaviourModule.executedAction PartBehaviourModule.stagingEnabled PartBehaviourModule.OABPart PartBehaviourModule.IsLocallyAuthorized KerbalMonoBehaviour.Game KerbalMonoBehaviour.Assets KerbalMonoBehaviour.Messages KerbalMonoBehaviour.CFXSystem KerbalMonoBehaviour.IsGameShuttingDown Namespace: KSP.Modules Assembly: Assembly-CSharp.dll Syntax public class Module_SolarPanel : Module_Deployable, IPartModule, IFixedUpdate, IPriorityOverride, IUpdate, IObjectAssemblyPartModule, IMultipleDragCube, ILateUpdate Constructors Module_SolarPanel() Declaration public Module_SolarPanel() Fields dataSolarPanel Declaration protected Data_SolarPanel dataSolarPanel Field Value Type Description Data_SolarPanel Properties PartComponentModuleType Declaration public override Type PartComponentModuleType { get; } Property Value Type Description Type Overrides Module_Deployable.PartComponentModuleType Methods AddDataModules() Declaration protected override void AddDataModules() Overrides Module_Deployable.AddDataModules() CalculateTrackingLOS(Vector3, ref string) Evaluates line-of-sight (LOS) between the solar panel and its tracking target. Declaration public override bool CalculateTrackingLOS(Vector3 trackingDirection, ref string blocker) Parameters Type Name Description Vector3 trackingDirection The normalized vector toward the light source. string blocker Output string identifying the obstructing object (Body, Terrain, or Part). Returns Type Description bool True if the panel is receiving light; false if obstructed. Overrides Module_Deployable.CalculateTrackingLOS(Vector3, ref string) Remarks Logic flow: Checks for simulated orbital occlusion (SimBlockingBody). Validates panel orientation relative to the light source (Incidence Angle). Performs a physical Raycast to detect terrain (PQSRenderer) or vessel self-shadowing (PartBehavior). Updates localization strings for the UI display. GetModuleDisplayName() Declaration public override string GetModuleDisplayName() Returns Type Description string Overrides Module_Deployable.GetModuleDisplayName() OnInitialize() Declaration protected override void OnInitialize() Overrides Module_Deployable.OnInitialize() OnModuleOABFixedUpdate(float) Declaration protected override void OnModuleOABFixedUpdate(float deltaTime) Parameters Type Name Description float deltaTime Overrides Module_Deployable.OnModuleOABFixedUpdate(float) OnShutdown() Declaration protected override void OnShutdown() Overrides Module_Deployable.OnShutdown() PostCalculateTracking(bool, Vector3) Declaration public override void PostCalculateTracking(bool trackingLOS, Vector3 trackingDirection) Parameters Type Name Description bool trackingLOS Vector3 trackingDirection Overrides Module_Deployable.PostCalculateTracking(bool, Vector3) Implements IPartModule IFixedUpdate IPriorityOverride IUpdate IObjectAssemblyPartModule IMultipleDragCube ILateUpdate Extension Methods ObjectExtensions.Apply<T>(T, Action<T>) ObjectExtensions.Let<T, R>(T, Func<T, R>) ObjectExtensions.Use<T>(T, Action<T>) Util.CallPrivateVoidMethod<T>(T, string, params object[]) Util.GetField<T, R>(T, string) Util.SetField<T, V>(T, string, V) Util.SetProperty<T, V>(T, string, V) TypeConverters.CopyPropertiesFromFields(object, object, bool) TypeConverters.CopyPropertiesFromProperties(object, object, bool) Util.GetFieldValue<T>(object, string)"
0 commit comments