Have comet face away from primary body

This commit is contained in:
Nick 2023-03-25 22:35:46 -04:00
parent 3eb9bbd709
commit 2d54076a67

View File

@ -14,16 +14,25 @@ namespace NewHorizons.Builder.Body
internal static void InitPrefab()
{
if (_tailPrefab == null) _tailPrefab = SearchUtilities.Find("Comet_Body/Sector_CO/Effects_CO/Effects_CO_TailMeshes").InstantiateInactive().Rename("Prefab_CO_Tail").DontDestroyOnLoad();
if (_tailPrefab == null)
{
_tailPrefab = SearchUtilities.Find("Comet_Body/Sector_CO/Effects_CO/Effects_CO_TailMeshes").InstantiateInactive().Rename("Prefab_CO_Tail").DontDestroyOnLoad();
}
}
public static void Make(GameObject planetGO, Sector sector, CometTailModule cometTailModule, PlanetConfig config)
{
var cometTail = GameObject.Instantiate(_tailPrefab, sector?.transform ?? planetGO.transform);
cometTail.transform.position = planetGO.transform.position;
cometTail.name = "CometTail";
var rootObj = new GameObject("CometRoot");
rootObj.SetActive(false);
rootObj.transform.parent = sector?.transform ?? planetGO.transform;
rootObj.transform.localPosition = Vector3.zero;
var controller = cometTail.AddComponent<CometTailController>();
var cometTail = GameObject.Instantiate(_tailPrefab, rootObj.transform).Rename("CometTail");
cometTail.transform.localPosition = Vector3.zero;
cometTail.transform.localRotation = Quaternion.Euler(90, 90, 0);
cometTail.SetActive(true);
var controller = rootObj.AddComponent<CometTailController>();
controller.size = (cometTailModule.innerRadius ?? config.Base.surfaceSize) / 110;
@ -36,7 +45,7 @@ namespace NewHorizons.Builder.Body
controller.SetPrimaryBody(AstroObjectLocator.GetAstroObject(cometTailModule.primaryBody).transform);
});
cometTail.SetActive(true);
rootObj.SetActive(true);
}
}
}