Move game feel settings to daemon authority
This commit is contained in:
parent
91b79265b9
commit
dc8a7b069d
4 changed files with 129 additions and 21 deletions
|
|
@ -63,10 +63,7 @@ public sealed class AetheriaUnityGameplayBootShell
|
|||
var loadoutItemFactory = new AetheriaUnityLoadoutItemFactory(itemManager, runtimeCatalog);
|
||||
ZoneRenderer.SetDroppedPickupItemFactory(loadoutItemFactory.CreateLoadoutItem);
|
||||
ZoneRenderer.BodySettingsCollections = Settings.BodySettingsCollections;
|
||||
ZoneRenderer.RenderSettings = AetheriaUnityRenderSettingsBridge.Build(
|
||||
Settings,
|
||||
TargetSpottedBlinkFrequency,
|
||||
TargetSpottedBlinkOffset);
|
||||
ZoneRenderer.RenderSettings = ResolveDaemonRenderSettings(runtimeState);
|
||||
CockpitHudShell.SetRenderSettings(ZoneRenderer.RenderSettings);
|
||||
|
||||
if (!AetheriaUnityRuntimeClientProvider.PlayerSettings.GraphicsSettings.ShowAsteroidsInMinimap)
|
||||
|
|
@ -79,6 +76,22 @@ public sealed class AetheriaUnityGameplayBootShell
|
|||
loadoutItemFactory);
|
||||
}
|
||||
|
||||
private AetheriaRuntimeDaemonRenderSettings ResolveDaemonRenderSettings(AetheriaClientState runtimeState)
|
||||
{
|
||||
var frame = runtimeState?.DaemonFrame?.Latest();
|
||||
if (frame?.RenderSettings != null)
|
||||
{
|
||||
Log?.Invoke($"Aetheria render/game-feel settings: daemon frame {frame.FrameId}");
|
||||
return frame.RenderSettings;
|
||||
}
|
||||
|
||||
Log?.Invoke("Aetheria render/game-feel settings: local Unity Settings fallback; daemon frame unavailable.");
|
||||
return AetheriaUnityRenderSettingsBridge.Build(
|
||||
Settings,
|
||||
TargetSpottedBlinkFrequency,
|
||||
TargetSpottedBlinkOffset);
|
||||
}
|
||||
|
||||
private AetheriaRuntimeStateBootReport SyncRemoteReplicaBeforeBoot(AetheriaRuntimeStateBootReport stateBoot)
|
||||
{
|
||||
if (!ShouldSyncRemoteReplicaBeforeBoot(stateBoot))
|
||||
|
|
|
|||
Loading…
Reference in a new issue