internal void Load(SceneSystem sceneSystem)
        {
            if (sceneSystem == null)
            {
                throw new ArgumentNullException(nameof(sceneSystem));
            }

            if (SceneSystem != null)
            {
                throw new InvalidOperationException("Scene has already been loaded.");
            }

            GameUtils.Log("Loading...");

            SceneSystem = sceneSystem;

            Gui.Scene       = this;
            Gui.SceneSystem = SceneSystem;

            GetModule <DevConsole>().RegisterCommandsInternal(this);

            OnLoad();
        }
 /// <inheritdoc />
 public EngineModule GetModule(Type type)
 => SceneSystem.GetModule(type);
 /// <inheritdoc />
 public T GetModule <T>() where T : EngineModule, new()
 => SceneSystem.GetModule <T>();