From 469c8d7444baabf8606893d569077318b07bc697 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Wed, 10 Aug 2022 19:02:05 -0400 Subject: [PATCH] Add supernovaSize --- NewHorizons/Builder/Body/StarBuilder.cs | 2 ++ .../Components/SizeControllers/StarEvolutionController.cs | 3 ++- NewHorizons/External/Modules/VariableSize/StarModule.cs | 7 +++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Builder/Body/StarBuilder.cs b/NewHorizons/Builder/Body/StarBuilder.cs index defead5c..000d6dcc 100644 --- a/NewHorizons/Builder/Body/StarBuilder.cs +++ b/NewHorizons/Builder/Body/StarBuilder.cs @@ -187,6 +187,7 @@ namespace NewHorizons.Builder.Body var controller = starGO.AddComponent(); if (starModule.curve != null) controller.SetScaleCurve(starModule.curve); controller.size = starModule.size; + controller.supernovaSize = starModule.supernovaSize; controller.supernova = supernova; controller.StartColour = starModule.tint; controller.EndColour = starModule.endTint; @@ -286,6 +287,7 @@ namespace NewHorizons.Builder.Body var supernova = supernovaGO.GetComponent(); supernova._surface = starGO.GetComponentInChildren(); + supernova._supernovaScale = AnimationCurve.Linear(5, 0, 15, starModule.supernovaSize); supernova._supernovaVolume = null; if (starModule.supernovaTint != null) diff --git a/NewHorizons/Components/SizeControllers/StarEvolutionController.cs b/NewHorizons/Components/SizeControllers/StarEvolutionController.cs index 688ed889..4f6dfa99 100644 --- a/NewHorizons/Components/SizeControllers/StarEvolutionController.cs +++ b/NewHorizons/Components/SizeControllers/StarEvolutionController.cs @@ -40,6 +40,7 @@ namespace NewHorizons.Components.SizeControllers public float collapseTime = 10f; // seconds public float lifespan = 22f; // minutes + public float supernovaSize = 50000f; private bool _isSupernova; private float _supernovaStartTime; @@ -255,7 +256,7 @@ namespace NewHorizons.Components.SizeControllers if (start && _planetDestructionVolume != null) { - foreach (var collider in Physics.OverlapSphere(_planetDestructionVolume.transform.position, _planetDestructionVolume.GetComponent().radius * 50000f * 0.9f)) + foreach (var collider in Physics.OverlapSphere(_planetDestructionVolume.transform.position, _planetDestructionVolume.GetComponent().radius * supernovaSize * 0.9f)) { if (collider.attachedRigidbody != null) { diff --git a/NewHorizons/External/Modules/VariableSize/StarModule.cs b/NewHorizons/External/Modules/VariableSize/StarModule.cs index f9c841f9..daffcfa2 100644 --- a/NewHorizons/External/Modules/VariableSize/StarModule.cs +++ b/NewHorizons/External/Modules/VariableSize/StarModule.cs @@ -52,6 +52,13 @@ namespace NewHorizons.External.Modules.VariableSize [DefaultValue(1f)] [Range(0f, double.MaxValue)] public float solarLuminosity = 1f; + /// + /// Radius of the supernova. + /// + [DefaultValue(50000f)] + [Range(0f, double.MaxValue)] + public float supernovaSize = 50000f; + /// /// The tint of the supernova this star creates when it dies. ///