Skip to content

Commit

Permalink
Showing 4 changed files with 61 additions and 2 deletions.
Binary file modified GameData/RP-0/Plugins/RP0.dll
Binary file not shown.
Binary file modified GameData/RP-0/Plugins/RP0KCTBinder.dll
Binary file not shown.
14 changes: 12 additions & 2 deletions Source/Tooling/ModuleToolingDiamLen.cs
Original file line number Diff line number Diff line change
@@ -6,9 +6,19 @@

namespace RP0
{
public abstract class ModuleToolingDiamLen : ModuleTooling
public class ModuleToolingDiamLen : ModuleTooling
{
public abstract void GetDimensions(out float diam, out float len);
[KSPField]
public float partDiameter;

[KSPField]
public float partLength;

public virtual void GetDimensions(out float diam, out float len)
{
diam = partDiameter;
len = partLength;
}

public virtual string GetDimensions()
{
49 changes: 49 additions & 0 deletions Source/Tooling/ModuleToolingStockFairing.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.Text;
using KSP;
using UnityEngine;

namespace RP0
{
class ModuleToolingStockFairing : ModuleToolingDiamLen
{
protected ModuleProceduralFairing pm;

public override void OnAwake()
{
base.OnAwake();
pm = part.Modules.GetModule<ModuleProceduralFairing>();
}

public override void OnLoad(ConfigNode node)
{
base.OnLoad(node);
pm = part.Modules.GetModule<ModuleProceduralFairing>();
}

public override void GetDimensions(out float diam, out float len)
{
diam = 0f;
len = 0f;

if (pm == null)
{
Debug.LogError("[ModuleTooling]: Could not find Stock Fairing module to bind to");
return;
}

foreach (var x in pm.xSections)
{
if (diam < x.r)
{
diam = x.r;
}

len += x.h;
}

diam *= 2f;
}
}
}

0 comments on commit e8ea049

Please sign in to comment.