Skip to content

Commit

Permalink
Convert GetConnectedResources and SetUpAnimation to Part extension me…
Browse files Browse the repository at this point in the history
…thods
  • Loading branch information
Majiir committed Sep 4, 2014
1 parent a1610c2 commit d6fd4eb
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 12 deletions.
4 changes: 2 additions & 2 deletions Plugin/Misc.cs
Expand Up @@ -8,7 +8,7 @@ namespace Kethane
{
internal static class Misc
{
public static List<PartResource> GetConnectedResources(Part part, String resourceName)
public static List<PartResource> GetConnectedResources(this Part part, String resourceName)
{
var resourceDef = PartResourceLibrary.Instance.GetDefinition(resourceName);
var resources = new List<PartResource>();
Expand All @@ -18,7 +18,7 @@ public static List<PartResource> 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<AnimationState>();
foreach (var animation in part.FindModelAnimators(animationName))
Expand Down
4 changes: 2 additions & 2 deletions Plugin/PartModules/HeatSinkAnimator.cs
Expand Up @@ -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()
Expand Down
2 changes: 1 addition & 1 deletion Plugin/PartModules/KethaneConverter.cs
Expand Up @@ -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<HeatSinkAnimator>().SingleOrDefault();
if (heatsink != null)
Expand Down
4 changes: 2 additions & 2 deletions Plugin/PartModules/KethaneDetectorAnimatorUnity.cs
Expand Up @@ -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)
{
Expand Down
4 changes: 2 additions & 2 deletions Plugin/PartModules/KethaneDrillAnimator.cs
Expand Up @@ -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; }
Expand Down
6 changes: 3 additions & 3 deletions Plugin/PartModules/KethaneGenerator.cs
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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; }
Expand Down

0 comments on commit d6fd4eb

Please sign in to comment.