Skip to content

Instantly share code, notes, and snippets.

Created May 14, 2015 09:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/1b5f5c570d7b9ca4aa34 to your computer and use it in GitHub Desktop.
Save anonymous/1b5f5c570d7b9ca4aa34 to your computer and use it in GitHub Desktop.
From 1a659eb739cac3f4d39137350a57c5bb4b3a653c Mon Sep 17 00:00:00 2001
From: aaa <mail@example.com>
Date: Thu, 14 May 2015 06:23:31 +0300
Subject: [PATCH] Add 'target debris' to guard mode
---
BahaTurret/BDATargetManager.cs | 10 +++++-----
BahaTurret/BDArmorySettings.cs | 14 +++++++++-----
BahaTurret/MissileFire.cs | 26 +++++++++++++++++++++++---
BahaTurret/TargetInfo.cs | 7 ++++---
4 files changed, 41 insertions(+), 16 deletions(-)
diff --git a/BahaTurret/BDATargetManager.cs b/BahaTurret/BDATargetManager.cs
index 4aa6be5..e646eb4 100644
--- a/BahaTurret/BDATargetManager.cs
+++ b/BahaTurret/BDATargetManager.cs
@@ -46,7 +46,7 @@ void Update()
}
else
{
- debugString+= ("\n - "+targetInfo.Vessel.vesselName+", Engaged by "+targetInfo.numFriendliesEngaging);
+ debugString += ("\n - " + targetInfo.Vessel.vesselName + " #" + targetInfo.Vessel.GetHashCode() + ", Engaged by " + targetInfo.numFriendliesEngaging);
}
}
else
@@ -65,7 +65,7 @@ void Update()
}
else
{
- debugString+= ("\n - "+targetInfo.Vessel.vesselName+", Engaged by "+targetInfo.numFriendliesEngaging);
+ debugString += ("\n - " + targetInfo.Vessel.vesselName + " #" + targetInfo.Vessel.GetHashCode() + ", Engaged by " + targetInfo.numFriendliesEngaging);
}
}
else
@@ -94,11 +94,11 @@ IEnumerator CleanDatabaseRoutine()
TargetDatabase[BDArmorySettings.BDATeams.A].RemoveAll(target => target == null);
TargetDatabase[BDArmorySettings.BDATeams.A].RemoveAll(target => target.team == BDArmorySettings.BDATeams.A);
- TargetDatabase[BDArmorySettings.BDATeams.A].RemoveAll(target => !target.isThreat);
+ //TargetDatabase[BDArmorySettings.BDATeams.A].RemoveAll(target => !target.isThreat);
TargetDatabase[BDArmorySettings.BDATeams.B].RemoveAll(target => target == null);
TargetDatabase[BDArmorySettings.BDATeams.B].RemoveAll(target => target.team == BDArmorySettings.BDATeams.B);
- TargetDatabase[BDArmorySettings.BDATeams.B].RemoveAll(target => !target.isThreat);
+ //TargetDatabase[BDArmorySettings.BDATeams.B].RemoveAll(target => !target.isThreat);
}
}
@@ -122,7 +122,7 @@ public static void ReportVessel(Vessel v, MissileFire reporter)
if(!TargetDatabase[team].Contains(info))
{
TargetDatabase[team].Add(info);
- }
+ }
}
public static TargetInfo GetAirToAirTarget(MissileFire mf)
diff --git a/BahaTurret/BDArmorySettings.cs b/BahaTurret/BDArmorySettings.cs
index 59c0760..5c7b9d5 100644
--- a/BahaTurret/BDArmorySettings.cs
+++ b/BahaTurret/BDArmorySettings.cs
@@ -489,15 +489,19 @@ void ToolbarGUI(int windowID)
line++;
string targetType = "Target Type: ";
- if(wpnMgr.targetMissiles)
+ if(wpnMgr.targetDebris)
{
- targetType += "Missiles";
+ targetType += "Debris";
}
- else
+ else if(wpnMgr.targetMissiles)
{
- targetType += "Vessels";
+ targetType += "Missiles";
}
-
+ else
+ {
+ targetType += "Vessels";
+ }
+
if(GUI.Button(new Rect(leftIndent, contentTop+(line*entryHeight), contentWidth, entryHeight), targetType, leftLabel))
{
wpnMgr.ToggleTargetType();
diff --git a/BahaTurret/MissileFire.cs b/BahaTurret/MissileFire.cs
index e81ffa5..aa1a972 100644
--- a/BahaTurret/MissileFire.cs
+++ b/BahaTurret/MissileFire.cs
@@ -126,6 +126,7 @@ public void GuiToggleGuardMode()
Fields["guardRange"].guiActive = guardMode;
Fields["guardAngle"].guiActive = guardMode;
Fields["targetMissiles"].guiActive = guardMode;
+ Fields["targetDebris"].guiActive = guardMode;
Fields["targetScanInterval"].guiActive = guardMode;
if(guardMode)
@@ -168,9 +169,22 @@ public void ToggleTargetType()
targetMissiles = !targetMissiles;
audioSource.PlayOneShot (clickSound);
}
-
-
-
+
+ [KSPField(isPersistant = true, guiActive = false, guiActiveEditor = false, guiName = "Shoot Debris: "),
+ UI_Toggle(disabledText = "No", enabledText = "Yes")]
+ public bool targetDebris = false;
+
+ [KSPAction("Toggle Target Debris")]
+ public void AGToggleTargetDebris(KSPActionParam param)
+ {
+ ToggleTargetDebris();
+ }
+
+ public void ToggleTargetDebris()
+ {
+ targetDebris = !targetDebris;
+ audioSource.PlayOneShot(clickSound);
+ }
[KSPField(guiActiveEditor = true, isPersistant = true, guiActive = true, guiName = "Team: "),
@@ -291,6 +305,7 @@ public override void OnStart (PartModule.StartState state)
Fields["guardRange"].guiActive = guardMode;
Fields["guardAngle"].guiActive = guardMode;
Fields["targetMissiles"].guiActive = guardMode;
+ Fields["targetDebris"].guiActive = guardMode;
Fields["targetScanInterval"].guiActive = guardMode;
}
@@ -1227,6 +1242,11 @@ void ScanAllTargets()
break;
}
}
+
+ if (targetDebris && !v.IsControllable)
+ {
+ BDATargetManager.ReportVessel(v, this);
+ }
}
}
}
diff --git a/BahaTurret/TargetInfo.cs b/BahaTurret/TargetInfo.cs
index 948ffc3..054385c 100644
--- a/BahaTurret/TargetInfo.cs
+++ b/BahaTurret/TargetInfo.cs
@@ -72,7 +72,7 @@ public bool isThreat
{
return true;
}
- return false;
+ return false;
}
}
@@ -112,8 +112,9 @@ void Start()
if(!foundMl)
{
- Debug.Log("TargetInfo was added to vessel with mo WpnMgr or MissileLauncher");
- Destroy(this);
+ Debug.Log("TargetInfo was added to vessel with no WpnMgr or MissileLauncher");
+ //team = BDArmorySettings.BDATeams.B;
+ //Destroy(this);
}
}
--
1.9.4.msysgit.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment