From 073b7d294884da33b000c29c6b5f1f379a7951e2 Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Thu, 30 Jan 2020 17:16:10 -0800 Subject: [PATCH] Roll ModuleAdvancedLookAtConstraint into ReStock --- .../ReStock/Patches/Ground/restock-wheels.cfg | 4 +- .../GameData/ReStock/Plugins/Restock.dll | Bin 36864 -> 38400 bytes .../Parts/Ground/restock-wheel-1-T.cfg | 2 +- .../Parts/Ground/restock-wheel-4.cfg | 2 +- .../Restock/ModuleRestockLookAtConstraint.cs | 95 ++++++++++++++++++ Source/Restock/Restock.csproj | 1 + 6 files changed, 100 insertions(+), 4 deletions(-) create mode 100644 Source/Restock/ModuleRestockLookAtConstraint.cs diff --git a/Distribution/Restock/GameData/ReStock/Patches/Ground/restock-wheels.cfg b/Distribution/Restock/GameData/ReStock/Patches/Ground/restock-wheels.cfg index abd29cc7..4d1ce4f1 100644 --- a/Distribution/Restock/GameData/ReStock/Patches/Ground/restock-wheels.cfg +++ b/Distribution/Restock/GameData/ReStock/Patches/Ground/restock-wheels.cfg @@ -32,7 +32,7 @@ MODULE { - name = ModuleAdvancedLookAtConstraint + name = ModuleRestockLookAtConstraint CONSTRAINLOOKFX { @@ -241,7 +241,7 @@ MODULE { - name = ModuleAdvancedLookAtConstraint + name = ModuleRestockLookAtConstraint CONSTRAINLOOKFX { diff --git a/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll b/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll index 57c0b58514d3699a678d8b6a6cea95b96dce7e5c..bf2d6b2b82c659dbbbda3db9cbeb778d591bfff6 100644 GIT binary patch delta 16246 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 JtlEb-{~H@6`W^rP delta 14654 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 diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Ground/restock-wheel-1-T.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Ground/restock-wheel-1-T.cfg index 663f25a2..f1a1c19a 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Ground/restock-wheel-1-T.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Ground/restock-wheel-1-T.cfg @@ -138,7 +138,7 @@ PART MODULE { - name = ModuleAdvancedLookAtConstraint + name = ModuleRestockLookAtConstraint CONSTRAINLOOKFX { diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Ground/restock-wheel-4.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Ground/restock-wheel-4.cfg index 5cf5cc37..d8574555 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Ground/restock-wheel-4.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Ground/restock-wheel-4.cfg @@ -235,7 +235,7 @@ PART MODULE { - name = ModuleAdvancedLookAtConstraint + name = ModuleRestockLookAtConstraint CONSTRAINLOOKFX { diff --git a/Source/Restock/ModuleRestockLookAtConstraint.cs b/Source/Restock/ModuleRestockLookAtConstraint.cs new file mode 100644 index 00000000..8ef71f2c --- /dev/null +++ b/Source/Restock/ModuleRestockLookAtConstraint.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using UnityEngine; + +namespace Restock +{ + + public class ModuleRestockLookAtConstraint : PartModule + { + + [System.Serializable] + public class LookConstraint + { + string rotatorsName; + string targetName; + + // Cached components + Transform target; + Transform rotator; + Part part; + + public LookConstraint(ConfigNode node, Part p) + { + node.TryGetValue("rotatorsName", ref rotatorsName); + node.TryGetValue("targetName", ref targetName); + part = p; + rotator = p.FindModelTransform(rotatorsName); + target = p.FindModelTransform(targetName); + } + + public void UpdateRotators() + { + if (rotator != null && target != null) + { + Vector3 targetPostition = new Vector3(target.position.x, + target.position.y, + target.position.z); + + Vector3 lookPos = target.position - rotator.position; + var rotation = Quaternion.LookRotation(lookPos, target.up); + rotator.rotation = rotation; + } + } + } + + public List constraints; + + public override void OnLoad(ConfigNode node) + { + base.OnLoad(node); + constraints = new List(); + ConfigNode[] cnodes = node.GetNodes("CONSTRAINLOOKFX"); + Debug.Log(String.Format("[ModuleAdvancedLookAtConstraint]: Loading {0} constraints", cnodes.Length)); + + for (int i = 0; i < cnodes.Length; i++) + { + constraints.Add(new LookConstraint(cnodes[i], this.part)); + } + + Debug.Log(String.Format("[ModuleAdvancedLookAtConstraint]: Loaded {0} constraints", constraints.Count)); + } + public override void OnStart(StartState state) + { + if (HighLogic.LoadedSceneIsFlight || HighLogic.LoadedSceneIsEditor) + { + if (constraints == null || constraints.Count == 0) + { + ConfigNode cfg; + foreach (UrlDir.UrlConfig pNode in GameDatabase.Instance.GetConfigs("PART")) + { + if (pNode.name.Replace("_", ".") == part.partInfo.name) + { + cfg = pNode.config; + ConfigNode node = cfg.GetNodes("MODULE").Single(n => n.GetValue("name") == moduleName); + OnLoad(node); + } + } + } + } + } + + void LateUpdate() + { + if (constraints != null) + { + for (int i = 0; i < constraints.Count; i++) + { + constraints[i].UpdateRotators(); + } + } + } + } +} diff --git a/Source/Restock/Restock.csproj b/Source/Restock/Restock.csproj index da8753e9..c4dd63fa 100644 --- a/Source/Restock/Restock.csproj +++ b/Source/Restock/Restock.csproj @@ -55,6 +55,7 @@ +