Skip to content

Commit

Permalink
v0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Mark S Haslam committed Sep 16, 2022
1 parent 37a6213 commit 2619cdb
Show file tree
Hide file tree
Showing 11 changed files with 79 additions and 25 deletions.
4 changes: 2 additions & 2 deletions GameData/RackMount/addModuleRackMount.cfg
@@ -1,4 +1,4 @@
//changes ModuleInventoryPart to ModuleRMInventoryPart in command modules
//adds ModuleRackMount to command parts with ModuleInventoryPart
@PART[*]:HAS[@MODULE[ModuleCommand],@MODULE[ModuleInventoryPart]]:FOR[RackMount]
{
@MODULE[ModuleInventoryPart]
Expand All @@ -11,7 +11,7 @@
}
}

//adds ModuleRMInventoryPart to other command parts
//adds ModuleInventoryPart and ModuleRackMount to other command parts
@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[ModuleInventoryPart],!MODULE[KerbalEVA]]:FOR[RackMount]
{
MODULE
Expand Down
12 changes: 12 additions & 0 deletions GameData/RackMount/final.cfg
@@ -0,0 +1,12 @@
//Part needs to be a cargo part without an inventory to rackmount
@PART[*]:HAS[#addModuleRackMountPart[?rue],@MODULE[ModuleCargoPart],!MODULE[ModuleInventoryPart]]:AFTER[RackMount]
{
MODULE
{
name = ModuleRackMountPart
}
}
@PART[*]:HAS[#addModuleRackMountPart]:AFTER[RackMount]
{
-addModuleRackMountPart = DEL
}
Binary file modified GameData/RackMount/plugins/RackMount.dll
Binary file not shown.
53 changes: 53 additions & 0 deletions GameData/RackMount/science/scanner.cfg
@@ -0,0 +1,53 @@
@PART[*]:HAS[@MODULE[ModuleResourceScanner]]:FOR[RackMount]
{
@MODULE[ModuleResourceScanner]
{
rackMountable = true
}
%addModuleRackMountPart = true
}

@PART[*]:HAS[@MODULE[ModuleBiomeScanner]]:FOR[RackMount]
{
@MODULE[ModuleBiomeScanner]
{
rackMountable = true
}
%addModuleRackMountPart = true
}

@PART[*]:HAS[@MODULE[ModuleAsteroidAnalysis]]:FOR[RackMount]
{
@MODULE[ModuleAsteroidAnalysis]
{
rackMountable = true
}
%addModuleRackMountPart = true

}

@PART[*]:HAS[@MODULE[ModuleCometAnalysis]]:FOR[RackMount]
{
@MODULE[ModuleCometAnalysis]
{
rackMountable = true
}
%addModuleRackMountPart = true
}

@PART[*]:HAS[@MODULE[ModuleAnalysisResource]]:FOR[RackMount]
{
@MODULE[ModuleAnalysisResource]
{
rackMountable = true
}
%addModuleRackMountPart = true
}
@PART[*]:HAS[@MODULE[ModuleGPS]]:FOR[RackMount]
{
@MODULE[ModuleGPS]
{
rackMountable = true
}
%addModuleRackMountPart = true
}
7 changes: 2 additions & 5 deletions GameData/RackMount/science/science.cfg
@@ -1,4 +1,4 @@
@PART[*]:HAS[@MODULE[ModuleScienceExperiment]]:FOR[RackMount]
@PART[*]:HAS[@MODULE[ModuleScienceExperiment],!MODULE[ModuleRobotArmScanner]]:FOR[RackMount]
{
@MODULE[ModuleScienceExperiment]
{
Expand All @@ -10,8 +10,5 @@
{
rackMountable = true
}
MODULE
{
name = ModuleRackMountPart
}
%addModuleRackMountPart = true
}
5 changes: 1 addition & 4 deletions GameData/RackMount/support/dmmodulescience.cfg
Expand Up @@ -5,8 +5,5 @@
rackMountable = true
@evaDistance *= 2
}
MODULE
{
name = ModuleRackMountPart
}
%addModuleRackMountPart = true
}
5 changes: 1 addition & 4 deletions GameData/RackMount/support/kerbalism.cfg
Expand Up @@ -10,8 +10,5 @@
{
rackMountable = true
}
MODULE
{
name = ModuleRackMountPart
}
%addModuleRackMountPart = true
}
18 changes: 8 additions & 10 deletions source/ModuleRackMount.cs
Expand Up @@ -91,6 +91,7 @@ public override void OnLoad(ConfigNode node)
RackmountPart(inv.storedParts.At(i));
}
}
onLoad = false;
}

public override void OnStart(StartState state)
Expand All @@ -104,9 +105,6 @@ public override void OnStart(StartState state)
inv.Fields["InventorySlots"].guiName = null;
if (HighLogic.LoadedSceneIsFlight)
inv.Fields["InventorySlots"].group.startCollapsed = true;

onLoad = false;

}

public override void OnUpdate()
Expand Down Expand Up @@ -303,7 +301,6 @@ private void RackmountPart(StoredPart storedPart)

ControlPoint _default = new ControlPoint("_default", c.defaultControlPointDisplayName, part.transform, new Vector3(0, 0, 0));
controlPoints.Add(_default.name, _default);
Debug.Log("[RM] c");

foreach (var node in moduleConfigNode.GetNodes("CONTROLPOINT"))
{
Expand All @@ -318,7 +315,6 @@ private void RackmountPart(StoredPart storedPart)
//Modules loaded with OnLoad() already includes modulePersistentID from save file
if (!onLoad)
moduleSnapshot.moduleValues.AddValue("modulePersistentId", partModule.GetPersistentId());

}
}

Expand All @@ -336,16 +332,18 @@ private void RackmountPart(StoredPart storedPart)
else if (rackMountable)
resource.Load(part);
}

storedPart.snapshot.partData.SetValue("partRackmounted", true, true);

BaseEvent button = (BaseEvent)Events.Find(x => x.name == "RackmountButton" + storedPart.slotIndex);
button.guiName = "<b><color=orange>Unmount</color> " + storedPart.snapshot.partInfo.title + "</b>";

//magic?! It works, don't know why
part.ModulesOnActivate();
part.ModulesOnStart();
part.ModulesOnStartFinished();
//creates a potential bug when existing mods are 'restarted' since it restarts ALL existing modules.
if (!onLoad)
{
part.ModulesOnActivate();
part.ModulesOnStart();
part.ModulesOnStartFinished();
}
}

private void UnmountPart(StoredPart storedPart)
Expand Down
Binary file modified source/obj/Debug/RackMount.dll
Binary file not shown.
Binary file modified source/obj/Debug/RackMount.pdb
Binary file not shown.
File renamed without changes.

0 comments on commit 2619cdb

Please sign in to comment.