public SRDebugService() { SRServiceManager.RegisterService <IDebugService>(this); // Load profiler SRServiceManager.GetService <IProfilerService>(); // Setup trigger service _debugTrigger = SRServiceManager.GetService <IDebugTriggerService>(); _informationService = SRServiceManager.GetService <ISystemInformationService>(); _pinnedUiService = SRServiceManager.GetService <IPinnedUIService>(); _pinnedUiService.OptionsCanvasCreated += transform => { if (PinnedUiCanvasCreated == null) { return; } try { PinnedUiCanvasCreated(transform); } catch (Exception e) { Debug.LogException(e); } }; _optionsService = SRServiceManager.GetService <IOptionsService>(); // Create debug panel service (this does not actually load any UI resources until opened) _debugPanelService = SRServiceManager.GetService <IDebugPanelService>(); // Subscribe to visibility changes to provide API-facing event for panel open/close _debugPanelService.VisibilityChanged += DebugPanelServiceOnVisibilityChanged; _debugTrigger.IsEnabled = Settings.EnableTrigger == Settings.TriggerEnableModes.Enabled || Settings.EnableTrigger == Settings.TriggerEnableModes.MobileOnly && Application.isMobilePlatform || Settings.EnableTrigger == Settings.TriggerEnableModes.DevelopmentBuildsOnly && Debug.isDebugBuild; _debugTrigger.Position = Settings.TriggerPosition; if (Settings.EnableKeyboardShortcuts) { SRServiceManager.GetService <KeyboardShortcutListenerService>(); } _entryCodeEnabled = Settings.Instance.RequireCode && Settings.Instance.EntryCode.Count == 4; if (Settings.Instance.RequireCode && !_entryCodeEnabled) { Debug.LogError("[SRDebugger] RequireCode is enabled, but pin is not 4 digits"); } // Ensure that root object cannot be destroyed on scene loads var srDebuggerParent = Hierarchy.Get("SRDebugger"); Object.DontDestroyOnLoad(srDebuggerParent.gameObject); }
public SRDebugService() { SRServiceManager.RegisterService <IDebugService>(this); // Load profiler SRServiceManager.GetService <IProfilerService>(); // Setup trigger service _debugTrigger = SRServiceManager.GetService <IDebugTriggerService>(); // Create debug panel service (this does not actually load any UI resources until opened) _debugPanelService = SRServiceManager.GetService <IDebugPanelService>(); // Subscribe to visibility changes to provide API-facing event for panel open/close _debugPanelService.VisibilityChanged += DebugPanelServiceOnVisibilityChanged; _debugTrigger.IsEnabled = Settings.EnableTrigger == Settings.TriggerEnableModes.Always || Settings.EnableTrigger == Settings.TriggerEnableModes.MobileOnly && Application.isMobilePlatform; _debugTrigger.Position = Settings.TriggerPosition; if (Settings.EnableKeyboardShortcuts) { SRServiceManager.GetService <KeyboardShortcutListenerService>(); } _entryCodeEnabled = Settings.Instance.RequireCode && Settings.Instance.EntryCode.Count == 4; if (Settings.Instance.RequireCode && !_entryCodeEnabled) { Debug.LogError("[SRDebugger] RequireCode is enabled, but pin is not 4 digits"); } // Ensure that root object cannot be destroyed on scene loads var srDebuggerParent = Hierarchy.Get("SRDebugger"); Object.DontDestroyOnLoad(srDebuggerParent.gameObject); }