From d6fd4eb71cea4ddef1e65316cf629a7d1c1f49f5 Mon Sep 17 00:00:00 2001 From: Majiir Paktu Date: Wed, 3 Sep 2014 20:53:26 -0400 Subject: [PATCH] Convert GetConnectedResources and SetUpAnimation to Part extension methods --- Plugin/Misc.cs | 4 ++-- Plugin/PartModules/HeatSinkAnimator.cs | 4 ++-- Plugin/PartModules/KethaneConverter.cs | 2 +- Plugin/PartModules/KethaneDetectorAnimatorUnity.cs | 4 ++-- Plugin/PartModules/KethaneDrillAnimator.cs | 4 ++-- Plugin/PartModules/KethaneGenerator.cs | 6 +++--- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Plugin/Misc.cs b/Plugin/Misc.cs index cbfa9a7..3509e9f 100644 --- a/Plugin/Misc.cs +++ b/Plugin/Misc.cs @@ -8,7 +8,7 @@ namespace Kethane { internal static class Misc { - public static List GetConnectedResources(Part part, String resourceName) + public static List GetConnectedResources(this Part part, String resourceName) { var resourceDef = PartResourceLibrary.Instance.GetDefinition(resourceName); var resources = new List(); @@ -18,7 +18,7 @@ public static List GetConnectedResources(Part part, String resourc public static float Dot(this Vector3 lhs, Vector3 rhs) { return Vector3.Dot(lhs, rhs); } - public static AnimationState[] SetUpAnimation(string animationName, Part part) + public static AnimationState[] SetUpAnimation(this Part part, string animationName) { var states = new List(); foreach (var animation in part.FindModelAnimators(animationName)) diff --git a/Plugin/PartModules/HeatSinkAnimator.cs b/Plugin/PartModules/HeatSinkAnimator.cs index 2504256..cd2b633 100644 --- a/Plugin/PartModules/HeatSinkAnimator.cs +++ b/Plugin/PartModules/HeatSinkAnimator.cs @@ -45,8 +45,8 @@ public class HeatSinkAnimator : PartModule public override void OnStart(PartModule.StartState state) { - openAnimationStates = Misc.SetUpAnimation(OpenAnimation, this.part); - heatAnimationStates = Misc.SetUpAnimation(HeatAnimation, this.part); + openAnimationStates = this.part.SetUpAnimation(OpenAnimation); + heatAnimationStates = this.part.SetUpAnimation(HeatAnimation); } public override void OnUpdate() diff --git a/Plugin/PartModules/KethaneConverter.cs b/Plugin/PartModules/KethaneConverter.cs index 67b0847..bda50d9 100644 --- a/Plugin/PartModules/KethaneConverter.cs +++ b/Plugin/PartModules/KethaneConverter.cs @@ -187,7 +187,7 @@ public override void OnFixedUpdate() if (!IsEnabled && !AlwaysActive) { return; } var rates = outputRates.Select(r => r * -1).Concat(inputRates).Select(r => r * TimeWarp.fixedDeltaTime).ToArray(); - var ratio = rates.Where(r => !r.Optional).Select(r => Misc.GetConnectedResources(this.part, r.Resource).Select(c => r.Rate > 0 ? c.amount : c.maxAmount - c.amount).DefaultIfEmpty().Max() / Math.Abs(r.Rate)).Where(r => r < 1).DefaultIfEmpty(1).Min(); + var ratio = rates.Where(r => !r.Optional).Select(r => this.part.GetConnectedResources(r.Resource).Select(c => r.Rate > 0 ? c.amount : c.maxAmount - c.amount).DefaultIfEmpty().Max() / Math.Abs(r.Rate)).Where(r => r < 1).DefaultIfEmpty(1).Min(); var heatsink = this.part.Modules.OfType().SingleOrDefault(); if (heatsink != null) diff --git a/Plugin/PartModules/KethaneDetectorAnimatorUnity.cs b/Plugin/PartModules/KethaneDetectorAnimatorUnity.cs index 5c6fa50..bdf69e9 100644 --- a/Plugin/PartModules/KethaneDetectorAnimatorUnity.cs +++ b/Plugin/PartModules/KethaneDetectorAnimatorUnity.cs @@ -18,8 +18,8 @@ public class KethaneDetectorAnimatorUnity : PartModule, IDetectorAnimator public override void OnStart(PartModule.StartState state) { - deployStates = Misc.SetUpAnimation(DeployAnimation, this.part); - runningStates = Misc.SetUpAnimation(RunningAnimation, this.part); + deployStates = this.part.SetUpAnimation(DeployAnimation); + runningStates = this.part.SetUpAnimation(RunningAnimation); foreach (var runningState in runningStates) { diff --git a/Plugin/PartModules/KethaneDrillAnimator.cs b/Plugin/PartModules/KethaneDrillAnimator.cs index 8d3358b..810e75e 100644 --- a/Plugin/PartModules/KethaneDrillAnimator.cs +++ b/Plugin/PartModules/KethaneDrillAnimator.cs @@ -20,8 +20,8 @@ public class KethaneDrillAnimator : PartModule, IExtractorAnimator public override void OnStart(PartModule.StartState state) { - deployStates = Misc.SetUpAnimation(DeployAnimation, this.part); - drillStates = Misc.SetUpAnimation(DrillAnimation, this.part); + deployStates = this.part.SetUpAnimation(DeployAnimation); + drillStates = this.part.SetUpAnimation(DrillAnimation); if (CurrentState == ExtractorState.Deploying) { CurrentState = ExtractorState.Retracted; } else if (CurrentState == ExtractorState.Retracting) { CurrentState = ExtractorState.Deployed; } diff --git a/Plugin/PartModules/KethaneGenerator.cs b/Plugin/PartModules/KethaneGenerator.cs index 0e2d1f1..99402e5 100644 --- a/Plugin/PartModules/KethaneGenerator.cs +++ b/Plugin/PartModules/KethaneGenerator.cs @@ -67,8 +67,8 @@ public override void OnStart(PartModule.StartState state) if (state == StartState.Editor) { return; } this.part.force_activate(); - fanStates = Misc.SetUpAnimation("generatorFan_anim", part); - slatStates = Misc.SetUpAnimation("generatorSlats_anim", part); + fanStates = this.part.SetUpAnimation("generatorFan_anim"); + slatStates = this.part.SetUpAnimation("generatorSlats_anim"); foreach (var fanState in fanStates) { @@ -102,7 +102,7 @@ public override void OnUpdate() public override void OnFixedUpdate() { - var resources = Misc.GetConnectedResources(part, "ElectricCharge"); + var resources = part.GetConnectedResources("ElectricCharge"); var demand = Enabled ? logistic((float)(resources.Sum(r => r.amount) / resources.Sum(r => r.maxAmount))) : 0; if (demand < 0.1f) { demand = 0; }