WorldScreenGuard

csharp
public static class WorldScreenGuard

Namespace NodeWorld.SDK.Client.XR.

What a world may not do to the player's view (plan Flux B3, « L'UI du client s'affiche au-dessus du monde »), held at every frame after everything the world runs (its FL# scripts, animators, UI events) and before the cameras render (WorldScreenGuardFrame): - a camera of the world draws only into a render texture: one that would draw on the screen, and in the headset, over the player's view and the client's interface is turned off (a mirror, a security camera keep working); - a canvas of the world drawn on the screen (Screen Space Overlay, or Screen Space Camera without a camera) sorts under the client's screen canvases: its sorting order comes down to ClientUi.WorldScreenOrderMax; - the layer of the client's interface in the world (ClientUi.Layer) is not the world's: an object of the world found on it goes to Default. The client tracks each world scene it loads (TrackScene), the FL# engine each object it makes (Track: copies, network copies).

Methods

TrackScene

csharp
public static void TrackScene(Scene scene)

A world scene was loaded: its cameras and canvases are held from now on, its objects leave the client's layer.

UntrackScene

csharp
public static void UntrackScene(Scene scene)

The world scene was unloaded.

Track

csharp
public static void Track(GameObject root)

An object of the world (and its children, active or not): held as the scene's are.

IsWorldCamera

csharp
public static bool IsWorldCamera(Camera camera)

The camera belongs to a world scene (its own cameras, the cameras its scripts made).

IsWorldObject

csharp
public static bool IsWorldObject(GameObject gameObject)

The object belongs to a world scene.