Vixen
02b45cc4
csharp
public sealed class WorldSettings

Everything that belongs to a scene rather than to the project or to one entity.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Doc 20's B6: "the per-scene half of Project Settings". A project's content target is the same for every level; a level's gravity, sky, GI budget and agent size are not — and putting them in ProjectSettings/ would make the second level in a game the moment somebody notices.

⚠ A sidecar beside the .vxscene rather than a block inside it, and the reason is merge conflicts. A scene file is where every entity anybody adds lands, so it is the file two people on a team touch every day; the world settings change once a month and are edited by one person. Keeping them apart means changing the fog does not conflict with somebody else having moved a crate. It is the same argument doc 08 makes for .meta files being beside their assets rather than inside a database.

⚠ Every group here is a [DataContract] with [Inspector] members and no dialog code at all — doc 11's "adding a setting is declaring a type", applied to the scene. The panels below are three InspectorViews over three of these properties.

Fields and properties (7)

  • public const int Current

    The version this reader and writer speak.

  • public const string Extension

    What the sidecar beside a scene is called.

  • public int Version

    Which version of the format this file is.

  • public EnvironmentSettings Environment

    The sky, the ambient term and the fog.

  • public LightingSettings Lighting

    The dynamic global illumination.

  • public PhysicsSettings Physics

    Gravity and the solver.

  • public NavigationSettings Navigation

    What a navigation bake uses.

Methods (3)

  • public static string PathFor(string scenePath)

    Where a scene's settings live.

  • public static WorldSettings Load(string scenePath)

    Reads a scene's settings, or the defaults when it has none.

  • public void Save(string scenePath)

    Writes a scene's settings beside it.

Used by (4)

  • EditorApplicationVixen.Editor.App
  • EditorSceneVixen.Editor.App
  • MilestoneE5TestsVixen.Editor.App.Tests
  • TypeRegistrationVixen.Editor.App