mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Make sun override builder better
This commit is contained in:
parent
f01471775c
commit
d154477dc6
@ -1,21 +1,43 @@
|
|||||||
using NewHorizons.External.Modules;
|
using NewHorizons.External.Modules;
|
||||||
|
using NewHorizons.External.Modules.VariableSize;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
namespace NewHorizons.Builder.Atmosphere
|
namespace NewHorizons.Builder.Atmosphere
|
||||||
{
|
{
|
||||||
public static class SunOverrideBuilder
|
public static class SunOverrideBuilder
|
||||||
{
|
{
|
||||||
public static void Make(GameObject planetGO, Sector sector, AtmosphereModule atmo, float surfaceSize)
|
public static void Make(GameObject planetGO, Sector sector, AtmosphereModule atmo, WaterModule water, float surfaceSize)
|
||||||
{
|
{
|
||||||
GameObject overrideGO = new GameObject("SunOverride");
|
GameObject overrideGO = new GameObject("SunOverride");
|
||||||
overrideGO.SetActive(false);
|
overrideGO.SetActive(false);
|
||||||
overrideGO.transform.parent = sector?.transform ?? planetGO.transform;
|
overrideGO.transform.parent = sector?.transform ?? planetGO.transform;
|
||||||
|
|
||||||
GiantsDeepSunOverrideVolume GDSOV = overrideGO.AddComponent<GiantsDeepSunOverrideVolume>();
|
if (water != null)
|
||||||
GDSOV._sector = sector;
|
{
|
||||||
GDSOV._cloudsOuterRadius = atmo.size;
|
var GDSOV = overrideGO.AddComponent<GiantsDeepSunOverrideVolume>();
|
||||||
GDSOV._cloudsInnerRadius = atmo.size * 0.9f;
|
GDSOV._sector = sector;
|
||||||
GDSOV._waterOuterRadius = surfaceSize;
|
GDSOV._cloudsOuterRadius = atmo.clouds.outerCloudRadius;
|
||||||
GDSOV._waterInnerRadius = 0f;
|
GDSOV._cloudsInnerRadius = atmo.clouds.innerCloudRadius;
|
||||||
|
GDSOV._waterOuterRadius = water.size;
|
||||||
|
GDSOV._waterInnerRadius = 0f;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var sunOverride = overrideGO.AddComponent<SunOverrideVolume>();
|
||||||
|
sunOverride._sector = sector;
|
||||||
|
|
||||||
|
sunOverride._overrideColor = true;
|
||||||
|
sunOverride._color = Color.black;
|
||||||
|
|
||||||
|
sunOverride._overrideIntensity = true;
|
||||||
|
sunOverride._intensity = 0f;
|
||||||
|
|
||||||
|
sunOverride._overrideShadowStrength = true;
|
||||||
|
sunOverride._shadowStrength = 1f;
|
||||||
|
|
||||||
|
sunOverride.shape = SimpleVolume.Shape.Sphere;
|
||||||
|
sunOverride.height = 2;
|
||||||
|
sunOverride.radius = atmo.clouds.innerCloudRadius;
|
||||||
|
}
|
||||||
|
|
||||||
overrideGO.transform.position = planetGO.transform.position;
|
overrideGO.transform.position = planetGO.transform.position;
|
||||||
overrideGO.SetActive(true);
|
overrideGO.SetActive(true);
|
||||||
|
|||||||
@ -447,7 +447,7 @@ namespace NewHorizons.Handlers
|
|||||||
if (!string.IsNullOrEmpty(body.Config.Atmosphere?.clouds?.texturePath))
|
if (!string.IsNullOrEmpty(body.Config.Atmosphere?.clouds?.texturePath))
|
||||||
{
|
{
|
||||||
CloudsBuilder.Make(go, sector, body.Config.Atmosphere, body.Mod);
|
CloudsBuilder.Make(go, sector, body.Config.Atmosphere, body.Mod);
|
||||||
SunOverrideBuilder.Make(go, sector, body.Config.Atmosphere, surfaceSize);
|
SunOverrideBuilder.Make(go, sector, body.Config.Atmosphere, body.Config.Water, surfaceSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (body.Config.Atmosphere.hasRain || body.Config.Atmosphere.hasSnow)
|
if (body.Config.Atmosphere.hasRain || body.Config.Atmosphere.hasSnow)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user