Use star evolution controller's current scale instead

This commit is contained in:
Noah Pilarski 2022-07-13 19:35:26 -04:00
parent c4e33ce3c6
commit 19e9bbf52a
2 changed files with 5 additions and 5 deletions

View File

@ -33,7 +33,6 @@ namespace NewHorizons.Builder.Body
var surfaceAudio = sunSurfaceAudio.gameObject.AddComponent<StarSurfaceAudioController>();
GameObject.Destroy(sunSurfaceAudio);
surfaceAudio.SetSector(sector);
surfaceAudio.SetSurfaceRadius(starModule.size);
sunAudio.name = "Audio_Star";
@ -141,6 +140,7 @@ namespace NewHorizons.Builder.Body
controller.StartColour = starModule.tint;
controller.EndColour = starModule.endTint;
controller.WillExplode = starModule.goSupernova;
surfaceAudio.SetStarEvolutionController(controller);
starGO.SetActive(true);
// It fucking insists on this existing and its really annoying

View File

@ -1,4 +1,5 @@
using UnityEngine;
using NewHorizons.Components.SizeControllers;
namespace NewHorizons.Components
{
@ -6,7 +7,7 @@ namespace NewHorizons.Components
public class StarSurfaceAudioController : SectoredMonoBehaviour
{
[SerializeField]
private float _surfaceRadius;
private StarEvolutionController _starEvolutionController;
private OWAudioSource _audioSource;
private float _fade;
@ -32,12 +33,11 @@ namespace NewHorizons.Components
public void Update()
{
_fade = Mathf.MoveTowards(_fade, 1, Time.deltaTime * 0.2f);
float value = Mathf.Max(0.0f, Vector3.Distance(Locator.GetPlayerCamera().transform.position, this.transform.position) - _surfaceRadius);
float value = Mathf.Max(0.0f, Vector3.Distance(Locator.GetPlayerCamera().transform.position, this.transform.position) - _starEvolutionController.CurrentScale);
float num = Mathf.InverseLerp(1600f, 100f, value);
_audioSource.SetLocalVolume(num * num * _fade);
}
public float GetSurfaceRadius() => _surfaceRadius;
public float SetSurfaceRadius(float radius) => _surfaceRadius = radius;
public void SetStarEvolutionController(StarEvolutionController controller) => _starEvolutionController = controller;
}
}