From 5962c652bd17287cd242375f9a8b8347ac6d014b Mon Sep 17 00:00:00 2001 From: Nick Date: Thu, 19 May 2022 16:59:22 -0400 Subject: [PATCH] Get orbit line materials directly (#141) Fixes #141 --- NewHorizons/Builder/Orbital/OrbitlineBuilder.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Builder/Orbital/OrbitlineBuilder.cs b/NewHorizons/Builder/Orbital/OrbitlineBuilder.cs index 6169ff0b..0b77cb65 100644 --- a/NewHorizons/Builder/Orbital/OrbitlineBuilder.cs +++ b/NewHorizons/Builder/Orbital/OrbitlineBuilder.cs @@ -1,19 +1,26 @@ using NewHorizons.Components.Orbital; using NewHorizons.External.Configs; +using NewHorizons.Utility; using UnityEngine; namespace NewHorizons.Builder.Orbital { public static class OrbitlineBuilder { + private static Material _dottedLineMaterial; + private static Material _lineMaterial; + public static OrbitLine Make(GameObject planetGO, NHAstroObject astroObject, bool isMoon, PlanetConfig config) { + if (_dottedLineMaterial == null) _dottedLineMaterial = SearchUtilities.FindResourceOfTypeAndName("Effects_SPA_OrbitLine_Dotted_mat"); + if (_lineMaterial == null) _lineMaterial = SearchUtilities.FindResourceOfTypeAndName("Effects_SPA_OrbitLine_mat"); + GameObject orbitGO = new GameObject("Orbit"); orbitGO.transform.parent = planetGO.transform; orbitGO.transform.localPosition = Vector3.zero; var lineRenderer = orbitGO.AddComponent(); - lineRenderer.material = config.Orbit.DottedOrbitLine ? GameObject.Find("HearthianMapSatellite_Body/OrbitLine").GetComponent().material : GameObject.Find("OrbitLine_CO").GetComponent().material; + lineRenderer.material = new Material(config.Orbit.DottedOrbitLine ? _dottedLineMaterial : _lineMaterial); lineRenderer.textureMode = config.Orbit.DottedOrbitLine ? LineTextureMode.RepeatPerSegment : LineTextureMode.Stretch; var width = config.Orbit.DottedOrbitLine ? 100 : 50;