NodeManager.cs
using Clover.Player;
using Clover.WorldBuilder;
using Sandbox;

namespace Clover;

public sealed class NodeManager : Component
{
	public static NodeManager Instance { get; private set; }

	protected override void OnAwake()
	{
		base.OnAwake();
		Instance = this;
	}

	/*public static UserInterface UserInterface => Instance.GetNode<UserInterface>( "/root/Main/UserInterface" );
	public static InventoryUi InventoryUi => Instance.GetNode<InventoryUi>( "/root/Main/UserInterface/Inventory" );
	public static WorldManager WorldManager => Instance.GetNode<WorldManager>( "/root/Main/WorldManager" );
	public static SettingsSaveData SettingsSaveData => Instance.GetNode<SettingsSaveData>( "/root/SettingsSaveData" );
	public static TimeManager TimeManager => Instance.GetNodeOrNull<TimeManager>( "/root/Main/TimeManager" );
	public static Camera3D PlayerCamera => Instance.GetNode<Camera3D>( "/root/Main/PlayerCamera" );
	public static PlayerController Player => Instance.GetNode<PlayerController>( "/root/Main/Player" );
	public static WeatherManager WeatherManager => Instance.GetNode<WeatherManager>( "/root/Main/WeatherManager" );*/
	
	public static WorldManager WorldManager => Game.ActiveScene.GetAllComponents<WorldManager>().FirstOrDefault();
	public static PlayerCharacter Player => Game.ActiveScene.GetAllComponents<PlayerCharacter>().FirstOrDefault();
	public static TimeManager TimeManager => Game.ActiveScene.GetAllComponents<TimeManager>().FirstOrDefault();
	public static WeatherManager WeatherManager => Game.ActiveScene.GetAllComponents<WeatherManager>().FirstOrDefault();
	
}