Skip to content

Commit 29c9420

Browse files
Successful version 1
1 parent 20ac1a9 commit 29c9420

11 files changed

+32
-36
lines changed

BeamedPowerReceiver.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ namespace BeamedPowerStandalone
77
public class WirelessReceiver : PartModule
88
{
99
// UI-right click menu in flight
10-
static string ManagedResource = ConfigFileReader.DetectedResource;
10+
static string ManagedResource;
11+
static int ResourceHash;
1112
[KSPField(guiName = "Power Receiver", isPersistant = true, guiActive = true, guiActiveEditor = false), UI_Toggle(scene = UI_Scene.Flight)]
1213
public bool Listening;
1314

@@ -49,15 +50,18 @@ public class WirelessReceiver : PartModule
4950
public float maxSkinTemp = 1200f;
5051

5152
int initFrames; ModuleCoreHeat coreHeat; ReceivedPower receiver;
52-
readonly int ResourceHash = PartResourceLibrary.Instance.GetDefinition(ManagedResource).id;
5353
string ExceedTempLimit = Localizer.Format("#LOC_BeamedPower_status_ExceededTempLimit");
5454
string operational = Localizer.Format("#LOC_BeamedPower_status_Operational");
5555

5656
[KSPField(isPersistant = true)]
5757
public int counter;
58-
5958
public void Start()
6059
{
60+
string ConfigFilePath = KSPUtil.ApplicationRootPath + "GameData/BeamedPowerStandalone/Settings.cfg";
61+
ConfigNode MainNode;
62+
MainNode = ConfigNode.Load(ConfigFilePath);
63+
ManagedResource = MainNode.GetNode("BPSettings").GetValue("ManagedResource");
64+
ResourceHash = PartResourceLibrary.Instance.GetDefinition(ManagedResource).id;
6165
initFrames = 0;
6266
receiver = new ReceivedPower();
6367
Fields["CoreTemp"].guiUnits = "K/" + maxCoreTemp.ToString() + "K";

BeamedPowerReflector.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ namespace BeamedPowerStandalone
88
public class WirelessReflector : PartModule
99
{
1010
// parameters set in part.cfg file
11-
static string ManagedResource = ConfigFileReader.DetectedResource;
11+
12+
static string ManagedResource;
13+
static int ResourceHash;
1214
[KSPField(isPersistant = false)]
1315
public float Reflectivity;
1416

@@ -82,9 +84,8 @@ public class WirelessReflector : PartModule
8284

8385
// declaring frequently used variables
8486
VesselFinder vesselFinder = new VesselFinder(); int frames;
85-
readonly int ResourceHash = PartResourceLibrary.Instance.GetDefinition(ManagedResource).id; int initFrames;
8687
ModuleCoreHeat coreHeat; ReceivedPower receiver = new ReceivedPower(); double heatModifier;
87-
88+
int initFrames;
8889
string operational = Localizer.Format("#LOC_BeamedPower_status_Operational");
8990
string ExceedTempLimit = Localizer.Format("#LOC_BeamedPower_status_ExceededTempLimit");
9091

@@ -101,9 +102,12 @@ public void ReceiverCounter()
101102
receiverCounter += 1;
102103
}
103104

104-
// initialise variables
105105
public void Start()
106106
{
107+
string ConfigFilePath = KSPUtil.ApplicationRootPath + "GameData/BeamedPowerStandalone/Settings.cfg";
108+
ConfigNode MainNode = ConfigNode.Load(ConfigFilePath);
109+
ManagedResource = MainNode.GetNode("BPSettings").GetValue("ManagedResource");
110+
ResourceHash = PartResourceLibrary.Instance.GetDefinition(ManagedResource).id;
107111
initFrames = 0; frames = 0;
108112
Fields["CoreTemp"].guiUnits = "K/" + maxCoreTemp.ToString() + "K";
109113
Fields["SkinTemp"].guiUnits = "K/" + maxSkinTemp.ToString() + "K";

BeamedPowerSource.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ namespace BeamedPowerStandalone
77
{
88
public class WirelessSource : PartModule
99
{
10-
static string ManagedResource = ConfigFileReader.DetectedResource;
10+
static string ManagedResource;
11+
public int ResourceHash;
1112
// creating things on part right click menu (flight)
1213
[KSPField(guiName = "Power Transmitter", isPersistant = true, guiActive = true, guiActiveEditor = false), UI_Toggle(scene = UI_Scene.Flight)]
1314
public bool Transmitting;
@@ -60,6 +61,11 @@ public class WirelessSource : PartModule
6061

6162
public void Start()
6263
{
64+
string ConfigFilePath = KSPUtil.ApplicationRootPath + "GameData/BeamedPowerStandalone/Settings.cfg";
65+
ConfigNode MainNode = ConfigNode.Load(ConfigFilePath);
66+
ManagedResource = MainNode.GetNode("BPSettings").GetValue("ManagedResource");
67+
ResourceHash = PartResourceLibrary.Instance.GetDefinition(ManagedResource).id;
68+
Debug.Log(Time.realtimeSinceStartup + ManagedResource);
6369
frames = 20; initFrames = 0;
6470
receiversList = new List<ConfigNode>();
6571
Fields["CoreTemp"].guiUnits = "K/" + maxCoreTemp.ToString() + "K";
@@ -112,7 +118,7 @@ public void VesselCounter()
112118
}
113119

114120
// getting resource id of 'Electric Charge'
115-
public int ResourceHash = PartResourceLibrary.Instance.GetDefinition(ManagedResource).id;
121+
116122

117123
// setting action group capability
118124
[KSPAction(guiName = "Toggle Power Transmitter")]

ReceivedPower.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ namespace BeamedPowerStandalone
77
{
88
public class ReceivedPower
99
{
10+
1011
PlanetOcclusion occlusion = new PlanetOcclusion();
1112
VesselFinder vesselFinder = new VesselFinder();
1213
RelativisticEffects relativistic = new RelativisticEffects();

Settings.cs

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,7 @@
44
namespace BeamedPowerStandalone
55
{
66
// instructions for implementing custom difficulty settings were found on '1.2 modders notes' on the forums
7-
[KSPAddon(KSPAddon.Startup.Instantly, false)]
8-
public class ConfigFileReader : MonoBehaviour
9-
{
10-
static readonly string ConfigFilePath = KSPUtil.ApplicationRootPath + "GameData/MyMod/Settings.cfg";
11-
static ConfigNode Node1;
12-
public static string DetectedResource;
13-
public void Start()
14-
{
15-
Node1 = ConfigNode.Load(ConfigFilePath);
16-
DetectedResource = Node1.GetNode("TestNode").GetValue("DetectedResource");
17-
}
18-
public void Update()
19-
{
20-
//if (String.IsNullOrEmpty(DetectedResource))
21-
//{
22-
// Debug.Log(Time.realtimeSinceStartup + "DetectedResource is empty");
23-
//}
24-
//else
25-
//{
26-
// Debug.Log(Time.realtimeSinceStartup + "DetectedResource is: " + DetectedResource);
27-
//}
28-
}
29-
}
7+
308

319

3210
public class BPSettings : GameParameters.CustomParameterNode

VesselModule.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,16 @@ namespace BeamedPowerStandalone
66
// as vessel modules are processed in the background, this adds background vessel resource management
77
public class BackgroundProcessing : VesselModule
88
{
9-
static string ManagedResource = ConfigFileReader.DetectedResource;
9+
static string ManagedResource;
1010
int ResourceHash; int frames; double requestAmount;
11-
11+
1212
public override void OnLoadVessel()
1313
{
14-
base.OnLoadVessel();
15-
ResourceHash = PartResourceLibrary.Instance.GetDefinition(ManagedResource).id; frames = 0; requestAmount = 0;
14+
string ConfigFilePath = KSPUtil.ApplicationRootPath + "GameData/BeamedPowerStandalone/Settings.cfg";
15+
ConfigNode MainNode;
16+
MainNode = ConfigNode.Load(ConfigFilePath);
17+
ManagedResource = MainNode.GetNode("BPSettings").GetValue("ManagedResource");
18+
ResourceHash = PartResourceLibrary.Instance.GetDefinition(ManagedResource).id;
1619
}
1720

1821
private double LoadVesselPowerData()
0 Bytes
Binary file not shown.
-2 KB
Binary file not shown.
-545 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)