Move body icon sizing into render settings
This commit is contained in:
parent
f65b0cea88
commit
9da188fa57
4 changed files with 23 additions and 5 deletions
|
|
@ -1833,11 +1833,13 @@ static void RequireDaemonRenderQueryAuthority(string root)
|
|||
"public double DefaultViewDistance { get; }",
|
||||
"public double MinimapIconScale { get; }",
|
||||
"public double MinimapAsteroidSize { get; }",
|
||||
"public AetheriaRuntimeExponentialCurve BodyIconSizeCurve { get; }",
|
||||
"public int ResolveDefaultMinimapZoomIndex()",
|
||||
"public int ResolveNextMinimapZoomIndex(int currentIndex)",
|
||||
"public double ResolveMinimapDistance(int zoomIndex)",
|
||||
"public double ResolveDefaultMinimapDistance()",
|
||||
"public double ResolveMinimapIconSize(double minimapDistance)",
|
||||
"public double ResolveBodyIconSize(double mass)",
|
||||
"public double NormalizeThermalRisk(double temperature)",
|
||||
"public double NormalizeHeatstrokePost(double heatstroke)",
|
||||
"public double NormalizeSevereHeatstrokePost(double heatstroke)",
|
||||
|
|
@ -2004,7 +2006,8 @@ static void RequireDaemonRenderQueryAuthority(string root)
|
|||
ContainsUnitySettingsMember(zoneRenderer, "DefaultMinimapZoom") ||
|
||||
ContainsUnitySettingsMember(zoneRenderer, "MinimapIconSize") ||
|
||||
ContainsUnitySettingsMember(zoneRenderer, "DefaultViewDistance") ||
|
||||
ContainsUnitySettingsMember(zoneRenderer, "MinimapAsteroidSize"))
|
||||
ContainsUnitySettingsMember(zoneRenderer, "MinimapAsteroidSize") ||
|
||||
ContainsUnitySettingsMember(zoneRenderer, "IconSize"))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"ZoneRenderer must initialize view/minimap presentation through shared daemon render settings instead of Unity GameSettings.");
|
||||
|
|
@ -2161,6 +2164,7 @@ static void RequireDaemonRenderQueryAuthority(string root)
|
|||
"RenderSettings.MinimapAsteroidSize",
|
||||
"RenderSettings.ResolveDefaultMinimapDistance()",
|
||||
"RenderSettings.ResolveMinimapIconSize(value)",
|
||||
"RenderSettings.ResolveBodyIconSize(mass)",
|
||||
"AetheriaRuntimeDaemonRenderQueries.QueryWormholeExits(",
|
||||
"RenderSettings.WormholeDistanceRatio",
|
||||
"AddWormhole(exit)",
|
||||
|
|
@ -2261,7 +2265,8 @@ static void RequireDaemonRenderQueryAuthority(string root)
|
|||
"Settings.WormholeDistanceRatio",
|
||||
"Settings.DefaultViewDistance",
|
||||
"Settings.MinimapIconSize",
|
||||
"Settings.MinimapAsteroidSize"
|
||||
"Settings.MinimapAsteroidSize",
|
||||
"Settings.IconSize"
|
||||
};
|
||||
|
||||
var missingActionGameManagerRenderSymbols = requiredActionGameManagerRenderSymbols
|
||||
|
|
|
|||
|
|
@ -564,6 +564,7 @@ public class ActionGameManager : MonoBehaviour
|
|||
public AetheriaRuntimeDaemonRenderSettings ObservedDaemonRenderSettings()
|
||||
{
|
||||
var emissionCurve = Settings.GameplaySettings.TemperatureEmissionCurve;
|
||||
var bodyIconSizeCurve = Settings.IconSize;
|
||||
return new AetheriaRuntimeDaemonRenderSettings(
|
||||
new AetheriaRuntimeExponentialCurve(
|
||||
emissionCurve.Exponent,
|
||||
|
|
@ -592,7 +593,11 @@ public class ActionGameManager : MonoBehaviour
|
|||
Settings.WormholeDistanceRatio,
|
||||
Settings.DefaultViewDistance,
|
||||
Settings.MinimapIconSize,
|
||||
Settings.MinimapAsteroidSize);
|
||||
Settings.MinimapAsteroidSize,
|
||||
new AetheriaRuntimeExponentialCurve(
|
||||
bodyIconSizeCurve.Exponent,
|
||||
bodyIconSizeCurve.Multiplier,
|
||||
bodyIconSizeCurve.Constant));
|
||||
}
|
||||
|
||||
private readonly (float2 direction, string name)[] _directions = {
|
||||
|
|
|
|||
|
|
@ -476,7 +476,7 @@ public class ZoneRenderer : MonoBehaviour
|
|||
// if (depth > _maxDepth) _maxDepth = depth;
|
||||
planet.GravityWell.material.SetFloat("_Depth", gravityWellDepth);
|
||||
planet.Icon.transform.position = new Vector3(0, -gravityWellDepth, 0);
|
||||
planet.Icon.transform.localScale = Settings.IconSize.Evaluate(mass) * Vector3.one;
|
||||
planet.Icon.transform.localScale = (float)RenderSettings.ResolveBodyIconSize(mass) * Vector3.one;
|
||||
|
||||
|
||||
_bodyViewsByBodyKey[bodyKey] = planet;
|
||||
|
|
|
|||
|
|
@ -68,7 +68,8 @@ namespace GameCult.Aetheria.State.Verse
|
|||
double wormholeDistanceRatio = 1.0,
|
||||
double defaultViewDistance = 0.0,
|
||||
double minimapIconScale = 0.0,
|
||||
double minimapAsteroidSize = 0.0)
|
||||
double minimapAsteroidSize = 0.0,
|
||||
AetheriaRuntimeExponentialCurve bodyIconSizeCurve = default)
|
||||
{
|
||||
TemperatureEmissionCurve = temperatureEmissionCurve;
|
||||
LockIndicatorFrequency = lockIndicatorFrequency;
|
||||
|
|
@ -89,6 +90,7 @@ namespace GameCult.Aetheria.State.Verse
|
|||
DefaultViewDistance = Math.Max(0.0, defaultViewDistance);
|
||||
MinimapIconScale = Math.Max(0.0, minimapIconScale);
|
||||
MinimapAsteroidSize = Math.Max(0.0, minimapAsteroidSize);
|
||||
BodyIconSizeCurve = bodyIconSizeCurve;
|
||||
}
|
||||
|
||||
public AetheriaRuntimeExponentialCurve TemperatureEmissionCurve { get; }
|
||||
|
|
@ -110,6 +112,7 @@ namespace GameCult.Aetheria.State.Verse
|
|||
public double DefaultViewDistance { get; }
|
||||
public double MinimapIconScale { get; }
|
||||
public double MinimapAsteroidSize { get; }
|
||||
public AetheriaRuntimeExponentialCurve BodyIconSizeCurve { get; }
|
||||
|
||||
public int ResolveDefaultMinimapZoomIndex()
|
||||
{
|
||||
|
|
@ -144,6 +147,11 @@ namespace GameCult.Aetheria.State.Verse
|
|||
return Math.Max(0.0, minimapDistance) * MinimapIconScale;
|
||||
}
|
||||
|
||||
public double ResolveBodyIconSize(double mass)
|
||||
{
|
||||
return BodyIconSizeCurve.Evaluate(Math.Max(0.0, mass));
|
||||
}
|
||||
|
||||
public double NormalizeThermalRisk(double temperature)
|
||||
{
|
||||
var range = HeatstrokeTemperature - HypothermiaTemperature;
|
||||
|
|
|
|||
Loading…
Reference in a new issue