Use SetScaleCurve everywhere

This commit is contained in:
Nick 2022-07-10 11:02:56 -04:00
parent 21ace3d11a
commit c4f0516d53
6 changed files with 7 additions and 31 deletions

View File

@ -170,12 +170,7 @@ namespace NewHorizons.Builder.Body
private static void AddSizeController(GameObject go, VariableSizeModule.TimeValuePair[] curve, float size)
{
var sizeController = go.AddComponent<SizeController>();
var animCurve = new AnimationCurve();
foreach (var pair in curve)
{
animCurve.AddKey(new Keyframe(pair.time, pair.value));
}
sizeController.scaleCurve = animCurve;
sizeController.SetScaleCurve(curve);
sizeController.size = size;
}

View File

@ -126,12 +126,7 @@ namespace NewHorizons.Builder.Body
if (ring.curve != null)
{
var levelController = ringGO.AddComponent<SizeController>();
var curve = new AnimationCurve();
foreach (var pair in ring.curve)
{
curve.AddKey(new Keyframe(pair.time, pair.value));
}
levelController.scaleCurve = curve;
levelController.SetScaleCurve(ring.curve);
}
return ringGO;

View File

@ -132,7 +132,7 @@ namespace NewHorizons.Builder.Body
starGO.SetActive(false);
var controller = starGO.AddComponent<StarEvolutionController>();
if (starModule.curve != null) controller.scaleCurve = starModule.GetAnimationCurve();
if (starModule.curve != null) controller.SetScaleCurve(starModule.curve);
controller.size = starModule.size;
controller.atmosphere = sunAtmosphere;
controller.supernova = supernova;
@ -164,7 +164,7 @@ namespace NewHorizons.Builder.Body
starGO.SetActive(false);
var controller = starGO.AddComponent<StarEvolutionController>();
if (starModule.curve != null) controller.scaleCurve = starModule.GetAnimationCurve();
if (starModule.curve != null) controller.SetScaleCurve(starModule.curve);
controller.size = starModule.size;
controller.supernova = supernova;
controller.StartColour = starModule.tint;

View File

@ -102,12 +102,7 @@ namespace NewHorizons.Builder.Body
if (module.curve != null)
{
var sizeController = waterGO.AddComponent<WaterSizeController>();
var curve = new AnimationCurve();
foreach (var pair in module.curve)
{
curve.AddKey(new Keyframe(pair.time, pair.value));
}
sizeController.scaleCurve = curve;
sizeController.SetScaleCurve(module.curve);
sizeController.oceanFogMaterial = fogGO.GetComponent<MeshRenderer>().material;
sizeController.size = module.size;
}

View File

@ -4,7 +4,7 @@ namespace NewHorizons.Components.SizeControllers
{
public class SizeController : MonoBehaviour
{
public AnimationCurve scaleCurve;
public AnimationCurve scaleCurve { get; protected set; }
public float CurrentScale { get; protected set; }
public float size = 1f;

View File

@ -1,4 +1,4 @@
using Newtonsoft.Json;
using Newtonsoft.Json;
using UnityEngine;
namespace NewHorizons.External.Modules.VariableSize
@ -11,15 +11,6 @@ namespace NewHorizons.External.Modules.VariableSize
/// </summary>
public TimeValuePair[] curve;
public AnimationCurve GetAnimationCurve(float size = 1f)
{
var curve = new AnimationCurve();
if (this.curve != null)
foreach (var pair in this.curve)
curve.AddKey(new Keyframe(pair.time, size * pair.value));
return curve;
}
[JsonObject]
public class TimeValuePair
{