1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using SRDebugger.Services;
- using SRF.Service;
- namespace SRDebugger
- {
- using UnityEngine;
- public static class AutoInitialize
- {
- #if UNITY_2018
- private const RuntimeInitializeLoadType InitializeLoadType = RuntimeInitializeLoadType.BeforeSceneLoad;
- #else
- private const RuntimeInitializeLoadType InitializeLoadType = RuntimeInitializeLoadType.SubsystemRegistration;
- #endif
- /// <summary>
- /// Initialize the console service before the scene has loaded to catch more of the initialization log.
- /// </summary>
- [RuntimeInitializeOnLoadMethod(InitializeLoadType)]
- public static void OnLoadBeforeScene()
- {
- // Populate service manager with types from SRDebugger assembly (asmdef)
- SRServiceManager.RegisterAssembly<IDebugService>();
- if (Settings.Instance.IsEnabled)
- {
- // Initialize console if it hasn't already initialized.
- SRServiceManager.GetService<IConsoleService>();
- }
- }
- /// <summary>
- /// Initialize SRDebugger after the scene has loaded.
- /// </summary>
- [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
- public static void OnLoad()
- {
- if (Settings.Instance.IsEnabled)
- {
- SRDebug.Init();
- }
- }
- }
- }
|