mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Apply scale curve to singularities (#226)
This commit is contained in:
parent
c7c781e2cd
commit
4092c5847f
@ -7,6 +7,7 @@ using UnityEngine;
|
|||||||
using Logger = NewHorizons.Utility.Logger;
|
using Logger = NewHorizons.Utility.Logger;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using NewHorizons.Components.SizeControllers;
|
||||||
|
|
||||||
namespace NewHorizons.Builder.Body
|
namespace NewHorizons.Builder.Body
|
||||||
{
|
{
|
||||||
@ -15,11 +16,12 @@ namespace NewHorizons.Builder.Body
|
|||||||
|
|
||||||
private static Shader blackHoleShader = null;
|
private static Shader blackHoleShader = null;
|
||||||
private static Shader whiteHoleShader = null;
|
private static Shader whiteHoleShader = null;
|
||||||
private static readonly int Radius = Shader.PropertyToID("_Radius");
|
|
||||||
private static readonly int MaxDistortRadius = Shader.PropertyToID("_MaxDistortRadius");
|
public static readonly int Radius = Shader.PropertyToID("_Radius");
|
||||||
private static readonly int MassScale = Shader.PropertyToID("_MassScale");
|
public static readonly int MaxDistortRadius = Shader.PropertyToID("_MaxDistortRadius");
|
||||||
private static readonly int DistortFadeDist = Shader.PropertyToID("_DistortFadeDist");
|
public static readonly int MassScale = Shader.PropertyToID("_MassScale");
|
||||||
private static readonly int Color1 = Shader.PropertyToID("_Color");
|
public static readonly int DistortFadeDist = Shader.PropertyToID("_DistortFadeDist");
|
||||||
|
public static readonly int Color1 = Shader.PropertyToID("_Color");
|
||||||
|
|
||||||
private static Dictionary<string, GameObject> _singularitiesByID;
|
private static Dictionary<string, GameObject> _singularitiesByID;
|
||||||
|
|
||||||
@ -44,10 +46,10 @@ namespace NewHorizons.Builder.Body
|
|||||||
switch (polarity)
|
switch (polarity)
|
||||||
{
|
{
|
||||||
case SingularityModule.SingularityType.BlackHole:
|
case SingularityModule.SingularityType.BlackHole:
|
||||||
newSingularity = MakeBlackHole(go, sector, localPosition, size, hasHazardVolume, singularity.targetStarSystem);
|
newSingularity = MakeBlackHole(go, sector, localPosition, size, hasHazardVolume, singularity.targetStarSystem, singularity.curve);
|
||||||
break;
|
break;
|
||||||
case SingularityModule.SingularityType.WhiteHole:
|
case SingularityModule.SingularityType.WhiteHole:
|
||||||
newSingularity = MakeWhiteHole(go, sector, OWRB, localPosition, size, makeZeroGVolume);
|
newSingularity = MakeWhiteHole(go, sector, OWRB, localPosition, size, singularity.curve, makeZeroGVolume);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,9 +90,12 @@ namespace NewHorizons.Builder.Body
|
|||||||
}
|
}
|
||||||
|
|
||||||
blackHoleVolume._whiteHole = whiteHoleVolume;
|
blackHoleVolume._whiteHole = whiteHoleVolume;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GameObject MakeBlackHole(GameObject planetGO, Sector sector, Vector3 localPosition, float size, bool hasDestructionVolume, string targetSolarSystem, bool makeAudio = true)
|
public static GameObject MakeBlackHole(GameObject planetGO, Sector sector, Vector3 localPosition, float size,
|
||||||
|
bool hasDestructionVolume, string targetSolarSystem, VariableSizeModule.TimeValuePair[] curve, bool makeAudio = true)
|
||||||
{
|
{
|
||||||
var blackHole = new GameObject("BlackHole");
|
var blackHole = new GameObject("BlackHole");
|
||||||
blackHole.SetActive(false);
|
blackHole.SetActive(false);
|
||||||
@ -102,6 +107,14 @@ namespace NewHorizons.Builder.Body
|
|||||||
blackHoleRender.transform.localPosition = Vector3.zero;
|
blackHoleRender.transform.localPosition = Vector3.zero;
|
||||||
blackHoleRender.transform.localScale = Vector3.one * size;
|
blackHoleRender.transform.localScale = Vector3.one * size;
|
||||||
|
|
||||||
|
BlackHoleSizeController sizeController = null;
|
||||||
|
if (curve != null)
|
||||||
|
{
|
||||||
|
sizeController = blackHoleRender.AddComponent<BlackHoleSizeController>();
|
||||||
|
sizeController.SetScaleCurve(curve);
|
||||||
|
sizeController.size = size;
|
||||||
|
}
|
||||||
|
|
||||||
var meshFilter = blackHoleRender.AddComponent<MeshFilter>();
|
var meshFilter = blackHoleRender.AddComponent<MeshFilter>();
|
||||||
meshFilter.mesh = SearchUtilities.Find("BrittleHollow_Body/BlackHole_BH/BlackHoleRenderer").GetComponent<MeshFilter>().mesh;
|
meshFilter.mesh = SearchUtilities.Find("BrittleHollow_Body/BlackHole_BH/BlackHoleRenderer").GetComponent<MeshFilter>().mesh;
|
||||||
|
|
||||||
@ -112,6 +125,7 @@ namespace NewHorizons.Builder.Body
|
|||||||
meshRenderer.material.SetFloat(MaxDistortRadius, size * 0.95f);
|
meshRenderer.material.SetFloat(MaxDistortRadius, size * 0.95f);
|
||||||
meshRenderer.material.SetFloat(MassScale, 1);
|
meshRenderer.material.SetFloat(MassScale, 1);
|
||||||
meshRenderer.material.SetFloat(DistortFadeDist, size * 0.55f);
|
meshRenderer.material.SetFloat(DistortFadeDist, size * 0.55f);
|
||||||
|
if (sizeController != null) sizeController.material = meshRenderer.material;
|
||||||
|
|
||||||
if (makeAudio)
|
if (makeAudio)
|
||||||
{
|
{
|
||||||
@ -123,14 +137,15 @@ namespace NewHorizons.Builder.Body
|
|||||||
blackHoleAudioSource.maxDistance = size * 2.5f;
|
blackHoleAudioSource.maxDistance = size * 2.5f;
|
||||||
blackHoleAudioSource.minDistance = size * 0.4f;
|
blackHoleAudioSource.minDistance = size * 0.4f;
|
||||||
blackHoleAmbience.transform.localPosition = Vector3.zero;
|
blackHoleAmbience.transform.localPosition = Vector3.zero;
|
||||||
|
if (sizeController != null) sizeController.audioSource = blackHoleAudioSource;
|
||||||
|
|
||||||
var blackHoleOneShot = GameObject.Instantiate(SearchUtilities.Find("BrittleHollow_Body/BlackHole_BH/BlackHoleEmissionOneShot"), blackHole.transform);
|
var blackHoleOneShot = GameObject.Instantiate(SearchUtilities.Find("BrittleHollow_Body/BlackHole_BH/BlackHoleEmissionOneShot"), blackHole.transform);
|
||||||
var oneShotAudioSource = blackHoleOneShot.GetComponent<AudioSource>();
|
var oneShotAudioSource = blackHoleOneShot.GetComponent<AudioSource>();
|
||||||
oneShotAudioSource.maxDistance = size * 3f;
|
oneShotAudioSource.maxDistance = size * 3f;
|
||||||
oneShotAudioSource.minDistance = size * 0.4f;
|
oneShotAudioSource.minDistance = size * 0.4f;
|
||||||
|
if (sizeController != null) sizeController.oneShotAudioSource = oneShotAudioSource;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (hasDestructionVolume || targetSolarSystem != null)
|
if (hasDestructionVolume || targetSolarSystem != null)
|
||||||
{
|
{
|
||||||
var destructionVolumeGO = new GameObject("DestructionVolume");
|
var destructionVolumeGO = new GameObject("DestructionVolume");
|
||||||
@ -142,6 +157,7 @@ namespace NewHorizons.Builder.Body
|
|||||||
var sphereCollider = destructionVolumeGO.AddComponent<SphereCollider>();
|
var sphereCollider = destructionVolumeGO.AddComponent<SphereCollider>();
|
||||||
sphereCollider.radius = size * 0.4f;
|
sphereCollider.radius = size * 0.4f;
|
||||||
sphereCollider.isTrigger = true;
|
sphereCollider.isTrigger = true;
|
||||||
|
if (sizeController != null) sizeController.sphereCollider = sphereCollider;
|
||||||
|
|
||||||
if (hasDestructionVolume) destructionVolumeGO.AddComponent<BlackHoleDestructionVolume>();
|
if (hasDestructionVolume) destructionVolumeGO.AddComponent<BlackHoleDestructionVolume>();
|
||||||
else if (targetSolarSystem != null)
|
else if (targetSolarSystem != null)
|
||||||
@ -154,14 +170,17 @@ namespace NewHorizons.Builder.Body
|
|||||||
{
|
{
|
||||||
var blackHoleVolume = GameObject.Instantiate(SearchUtilities.Find("BrittleHollow_Body/BlackHole_BH/BlackHoleVolume"), blackHole.transform);
|
var blackHoleVolume = GameObject.Instantiate(SearchUtilities.Find("BrittleHollow_Body/BlackHole_BH/BlackHoleVolume"), blackHole.transform);
|
||||||
blackHoleVolume.name = "BlackHoleVolume";
|
blackHoleVolume.name = "BlackHoleVolume";
|
||||||
blackHoleVolume.GetComponent<SphereCollider>().radius = size * 0.4f;
|
var blackHoleSphereCollider = blackHoleVolume.GetComponent<SphereCollider>();
|
||||||
|
blackHoleSphereCollider.radius = size * 0.4f;
|
||||||
|
if (sizeController != null) sizeController.sphereCollider = blackHoleSphereCollider;
|
||||||
}
|
}
|
||||||
|
|
||||||
blackHole.SetActive(true);
|
blackHole.SetActive(true);
|
||||||
return blackHole;
|
return blackHole;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GameObject MakeWhiteHole(GameObject planetGO, Sector sector, OWRigidbody OWRB, Vector3 localPosition, float size, bool makeZeroGVolume = true)
|
public static GameObject MakeWhiteHole(GameObject planetGO, Sector sector, OWRigidbody OWRB, Vector3 localPosition, float size,
|
||||||
|
VariableSizeModule.TimeValuePair[] curve, bool makeZeroGVolume = true)
|
||||||
{
|
{
|
||||||
var whiteHole = new GameObject("WhiteHole");
|
var whiteHole = new GameObject("WhiteHole");
|
||||||
whiteHole.SetActive(false);
|
whiteHole.SetActive(false);
|
||||||
@ -173,6 +192,14 @@ namespace NewHorizons.Builder.Body
|
|||||||
whiteHoleRenderer.transform.localPosition = Vector3.zero;
|
whiteHoleRenderer.transform.localPosition = Vector3.zero;
|
||||||
whiteHoleRenderer.transform.localScale = Vector3.one * size * 2.8f;
|
whiteHoleRenderer.transform.localScale = Vector3.one * size * 2.8f;
|
||||||
|
|
||||||
|
WhiteHoleSizeController sizeController = null;
|
||||||
|
if (curve != null)
|
||||||
|
{
|
||||||
|
sizeController = whiteHoleRenderer.AddComponent<WhiteHoleSizeController>();
|
||||||
|
sizeController.SetScaleCurve(curve);
|
||||||
|
sizeController.size = size * 2.8f; // Gets goofy because of this
|
||||||
|
}
|
||||||
|
|
||||||
var meshFilter = whiteHoleRenderer.AddComponent<MeshFilter>();
|
var meshFilter = whiteHoleRenderer.AddComponent<MeshFilter>();
|
||||||
meshFilter.mesh = SearchUtilities.Find("WhiteHole_Body/WhiteHoleVisuals/Singularity").GetComponent<MeshFilter>().mesh;
|
meshFilter.mesh = SearchUtilities.Find("WhiteHole_Body/WhiteHoleVisuals/Singularity").GetComponent<MeshFilter>().mesh;
|
||||||
|
|
||||||
@ -184,13 +211,16 @@ namespace NewHorizons.Builder.Body
|
|||||||
meshRenderer.sharedMaterial.SetFloat(MaxDistortRadius, size * 2.8f);
|
meshRenderer.sharedMaterial.SetFloat(MaxDistortRadius, size * 2.8f);
|
||||||
meshRenderer.sharedMaterial.SetFloat(MassScale, -1);
|
meshRenderer.sharedMaterial.SetFloat(MassScale, -1);
|
||||||
meshRenderer.sharedMaterial.SetColor(Color1, new Color(1.88f, 1.88f, 1.88f, 1f));
|
meshRenderer.sharedMaterial.SetColor(Color1, new Color(1.88f, 1.88f, 1.88f, 1f));
|
||||||
|
if (sizeController != null) sizeController.material = meshRenderer.sharedMaterial;
|
||||||
|
|
||||||
var ambientLight = GameObject.Instantiate(SearchUtilities.Find("WhiteHole_Body/WhiteHoleVisuals/AmbientLight_WH"));
|
var ambientLight = GameObject.Instantiate(SearchUtilities.Find("WhiteHole_Body/WhiteHoleVisuals/AmbientLight_WH"));
|
||||||
ambientLight.transform.parent = whiteHole.transform;
|
ambientLight.transform.parent = whiteHole.transform;
|
||||||
ambientLight.transform.localScale = Vector3.one;
|
ambientLight.transform.localScale = Vector3.one;
|
||||||
ambientLight.transform.localPosition = Vector3.zero;
|
ambientLight.transform.localPosition = Vector3.zero;
|
||||||
ambientLight.name = "AmbientLight";
|
ambientLight.name = "AmbientLight";
|
||||||
ambientLight.GetComponent<Light>().range = size * 7f;
|
var light = ambientLight.GetComponent<Light>();
|
||||||
|
light.range = size * 7f;
|
||||||
|
if (sizeController != null) sizeController.light = light;
|
||||||
|
|
||||||
GameObject whiteHoleVolumeGO = GameObject.Instantiate(SearchUtilities.Find("WhiteHole_Body/WhiteHoleVolume"));
|
GameObject whiteHoleVolumeGO = GameObject.Instantiate(SearchUtilities.Find("WhiteHole_Body/WhiteHoleVolume"));
|
||||||
whiteHoleVolumeGO.transform.parent = whiteHole.transform;
|
whiteHoleVolumeGO.transform.parent = whiteHole.transform;
|
||||||
@ -198,11 +228,13 @@ namespace NewHorizons.Builder.Body
|
|||||||
whiteHoleVolumeGO.transform.localScale = Vector3.one;
|
whiteHoleVolumeGO.transform.localScale = Vector3.one;
|
||||||
whiteHoleVolumeGO.GetComponent<SphereCollider>().radius = size;
|
whiteHoleVolumeGO.GetComponent<SphereCollider>().radius = size;
|
||||||
whiteHoleVolumeGO.name = "WhiteHoleVolume";
|
whiteHoleVolumeGO.name = "WhiteHoleVolume";
|
||||||
|
if (sizeController != null) sizeController.sphereCollider = whiteHoleVolumeGO.GetComponent<SphereCollider>();
|
||||||
|
|
||||||
var whiteHoleFluidVolume = whiteHoleVolumeGO.GetComponent<WhiteHoleFluidVolume>();
|
var whiteHoleFluidVolume = whiteHoleVolumeGO.GetComponent<WhiteHoleFluidVolume>();
|
||||||
whiteHoleFluidVolume._innerRadius = size * 0.5f;
|
whiteHoleFluidVolume._innerRadius = size * 0.5f;
|
||||||
whiteHoleFluidVolume._outerRadius = size;
|
whiteHoleFluidVolume._outerRadius = size;
|
||||||
whiteHoleFluidVolume._attachedBody = OWRB;
|
whiteHoleFluidVolume._attachedBody = OWRB;
|
||||||
|
if (sizeController != null) sizeController.fluidVolume = whiteHoleFluidVolume;
|
||||||
|
|
||||||
var whiteHoleVolume = whiteHoleVolumeGO.GetComponent<WhiteHoleVolume>();
|
var whiteHoleVolume = whiteHoleVolumeGO.GetComponent<WhiteHoleVolume>();
|
||||||
whiteHoleVolume._debrisDistMax = size * 6.5f;
|
whiteHoleVolume._debrisDistMax = size * 6.5f;
|
||||||
@ -212,8 +244,7 @@ namespace NewHorizons.Builder.Body
|
|||||||
whiteHoleVolume._whiteHoleBody = OWRB;
|
whiteHoleVolume._whiteHoleBody = OWRB;
|
||||||
whiteHoleVolume._whiteHoleProxyShadowSuperGroup = planetGO.GetComponent<ProxyShadowCasterSuperGroup>();
|
whiteHoleVolume._whiteHoleProxyShadowSuperGroup = planetGO.GetComponent<ProxyShadowCasterSuperGroup>();
|
||||||
whiteHoleVolume._radius = size * 0.5f;
|
whiteHoleVolume._radius = size * 0.5f;
|
||||||
|
if (sizeController != null) sizeController.volume = whiteHoleVolume;
|
||||||
whiteHoleVolumeGO.GetComponent<SphereCollider>().radius = size;
|
|
||||||
|
|
||||||
whiteHoleVolume.enabled = true;
|
whiteHoleVolume.enabled = true;
|
||||||
whiteHoleFluidVolume.enabled = true;
|
whiteHoleFluidVolume.enabled = true;
|
||||||
@ -231,6 +262,12 @@ namespace NewHorizons.Builder.Body
|
|||||||
rulesetVolume.transform.localPosition = Vector3.zero;
|
rulesetVolume.transform.localPosition = Vector3.zero;
|
||||||
rulesetVolume.transform.localScale = Vector3.one * size / 100f;
|
rulesetVolume.transform.localScale = Vector3.one * size / 100f;
|
||||||
rulesetVolume.GetComponent<SphereShape>().enabled = true;
|
rulesetVolume.GetComponent<SphereShape>().enabled = true;
|
||||||
|
|
||||||
|
if (sizeController != null)
|
||||||
|
{
|
||||||
|
sizeController.zeroGSphereCollider = zeroGVolume.GetComponent<SphereCollider>();
|
||||||
|
sizeController.rulesetVolume = rulesetVolume;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
whiteHole.SetActive(true);
|
whiteHole.SetActive(true);
|
||||||
|
|||||||
@ -0,0 +1,44 @@
|
|||||||
|
using NewHorizons.Builder.Body;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace NewHorizons.Components.SizeControllers
|
||||||
|
{
|
||||||
|
public class BlackHoleSizeController : SizeController
|
||||||
|
{
|
||||||
|
public Material material;
|
||||||
|
public AudioSource audioSource;
|
||||||
|
public AudioSource oneShotAudioSource;
|
||||||
|
public SphereCollider sphereCollider;
|
||||||
|
|
||||||
|
protected new void FixedUpdate()
|
||||||
|
{
|
||||||
|
base.FixedUpdate();
|
||||||
|
|
||||||
|
material.SetFloat(SingularityBuilder.Radius, CurrentScale * 0.4f);
|
||||||
|
material.SetFloat(SingularityBuilder.MaxDistortRadius, CurrentScale * 0.95f);
|
||||||
|
material.SetFloat(SingularityBuilder.DistortFadeDist, CurrentScale * 0.55f);
|
||||||
|
|
||||||
|
if (audioSource != null)
|
||||||
|
{
|
||||||
|
audioSource.maxDistance = CurrentScale * 2.5f;
|
||||||
|
audioSource.minDistance = CurrentScale * 0.4f;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(oneShotAudioSource != null)
|
||||||
|
{
|
||||||
|
oneShotAudioSource.maxDistance = CurrentScale * 3f;
|
||||||
|
oneShotAudioSource.minDistance = CurrentScale * 0.4f;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sphereCollider != null)
|
||||||
|
{
|
||||||
|
sphereCollider.radius = CurrentScale * 0.4f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
using UnityEngine;
|
using NewHorizons.External.Modules.VariableSize;
|
||||||
|
using UnityEngine;
|
||||||
namespace NewHorizons.Components.SizeControllers
|
namespace NewHorizons.Components.SizeControllers
|
||||||
{
|
{
|
||||||
public class SizeController : MonoBehaviour
|
public class SizeController : MonoBehaviour
|
||||||
@ -20,5 +21,14 @@ namespace NewHorizons.Components.SizeControllers
|
|||||||
|
|
||||||
base.transform.localScale = Vector3.one * CurrentScale;
|
base.transform.localScale = Vector3.one * CurrentScale;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetScaleCurve(VariableSizeModule.TimeValuePair[] curve)
|
||||||
|
{
|
||||||
|
scaleCurve = new AnimationCurve();
|
||||||
|
foreach (var pair in curve)
|
||||||
|
{
|
||||||
|
scaleCurve.AddKey(new Keyframe(pair.time, pair.value));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,55 @@
|
|||||||
|
using NewHorizons.Builder.Body;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace NewHorizons.Components.SizeControllers
|
||||||
|
{
|
||||||
|
public class WhiteHoleSizeController : SizeController
|
||||||
|
{
|
||||||
|
public Material material;
|
||||||
|
public Light light;
|
||||||
|
public SphereCollider sphereCollider, zeroGSphereCollider;
|
||||||
|
public WhiteHoleFluidVolume fluidVolume;
|
||||||
|
public WhiteHoleVolume volume;
|
||||||
|
public GameObject rulesetVolume;
|
||||||
|
|
||||||
|
public new void FixedUpdate()
|
||||||
|
{
|
||||||
|
base.FixedUpdate();
|
||||||
|
|
||||||
|
// The "size" parameter set in the config got multiplied by 2.8 so we gotta divide by that
|
||||||
|
var trueSize = CurrentScale / 2.8f;
|
||||||
|
|
||||||
|
material.SetFloat(SingularityBuilder.Radius, trueSize * 0.4f);
|
||||||
|
material.SetFloat(SingularityBuilder.DistortFadeDist, trueSize);
|
||||||
|
material.SetFloat(SingularityBuilder.MaxDistortRadius, trueSize * 2.8f);
|
||||||
|
|
||||||
|
if (light != null)
|
||||||
|
{
|
||||||
|
light.range = trueSize * 7f;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sphereCollider != null) sphereCollider.radius = trueSize;
|
||||||
|
|
||||||
|
if (fluidVolume != null)
|
||||||
|
{
|
||||||
|
fluidVolume._innerRadius = trueSize * 0.5f;
|
||||||
|
fluidVolume._outerRadius = trueSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (volume != null)
|
||||||
|
{
|
||||||
|
volume._debrisDistMax = trueSize * 6.5f;
|
||||||
|
volume._debrisDistMin = trueSize * 2f;
|
||||||
|
volume._radius = trueSize * 0.5f;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (zeroGSphereCollider != null) zeroGSphereCollider.radius = trueSize * 10f;
|
||||||
|
if (rulesetVolume != null) rulesetVolume.transform.localScale = Vector3.one * trueSize / 100f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user