/// <summary> /// Initialize new Backtrace integration /// </summary> /// <param name="configuration">Backtrace configuration scriptable object</param> /// <param name="attributes">Client side attributes</param> /// <param name="gameObjectName">game object name</param> /// <returns>Backtrace client</returns> public static BacktraceClient Initialize(BacktraceConfiguration configuration, Dictionary <string, string> attributes = null, string gameObjectName = "BacktraceClient") { if (string.IsNullOrEmpty(gameObjectName)) { throw new ArgumentException("Missing game object name"); } if (configuration == null || string.IsNullOrEmpty(configuration.ServerUrl)) { throw new ArgumentException("Missing valid configuration"); } if (Instance != null) { return(Instance); } var backtrackGameObject = new GameObject(gameObjectName, typeof(BacktraceClient), typeof(BacktraceDatabase)); BacktraceClient backtraceClient = backtrackGameObject.GetComponent <BacktraceClient>(); backtraceClient.Configuration = configuration; if (configuration.Enabled) { BacktraceDatabase backtraceDatabase = backtrackGameObject.GetComponent <BacktraceDatabase>(); backtraceDatabase.Configuration = configuration; } backtrackGameObject.SetActive(true); backtraceClient.Refresh(); backtraceClient.SetAttributes(attributes); return(backtraceClient); }
/// <summary> /// Setup multiscene support /// </summary> protected virtual void SetupMultisceneSupport() { if (Configuration.DestroyOnLoad) { return; } DontDestroyOnLoad(gameObject); _instance = this; }