private void Initialize() { if (mixerDialog == null) { mixerDialog = FindObjectOfType <MixerInteractiveDialog>(); } if (queuedEvents == null) { queuedEvents = new List <InteractiveEventArgs>(); } // Listen for interactive events bool interactivityManagerAlreadyInitialized = false; if (interactivityManager == null) { interactivityManager = InteractivityManager.SingletonInstance; interactivityManager.OnError -= HandleError; interactivityManager.OnInteractivityStateChanged -= HandleInteractivityStateChanged; interactivityManager.OnParticipantStateChanged -= HandleParticipantStateChanged; interactivityManager.OnInteractiveButtonEvent -= HandleInteractiveButtonEvent; interactivityManager.OnInteractiveJoystickControlEvent -= HandleInteractiveJoystickControlEvent; interactivityManager.OnInteractiveMessageEvent -= HandleInteractiveMessageEvent; interactivityManager.OnError += HandleError; interactivityManager.OnInteractivityStateChanged += HandleInteractivityStateChanged; interactivityManager.OnParticipantStateChanged += HandleParticipantStateChanged; interactivityManager.OnInteractiveButtonEvent += HandleInteractiveButtonEvent; interactivityManager.OnInteractiveJoystickControlEvent += HandleInteractiveJoystickControlEvent; interactivityManager.OnInteractiveMessageEvent += HandleInteractiveMessageEvent; } else { interactivityManagerAlreadyInitialized = true; } MixerInteractiveHelper helper = MixerInteractiveHelper.SingletonInstance; helper.runInBackgroundIfInteractive = runInBackground; helper.defaultSceneID = defaultSceneID; for (int i = 0; i < groupIDs.Count; i++) { string groupID = groupIDs[i]; if (groupID != string.Empty && !helper.groupSceneMapping.ContainsKey(groupID)) { helper.groupSceneMapping.Add(groupID, sceneIDs[i]); } } if (outstandingCreateGroupsRequests == null) { outstandingCreateGroupsRequests = new List <string>(); } outstandingSetDefaultSceneRequest = string.Empty; processedSerializedProperties = false; outstandingRequestsCompleted = false; shouldCheckForOutstandingRequests = false; lastCheckForOutstandingRequestsTime = -1; #if !UNITY_WSA backgroundWorker = new BackgroundWorker(); #endif if (interactivityManagerAlreadyInitialized && InteractivityManager.SingletonInstance.InteractivityState == InteractivityState.InteractivityEnabled) { ProcessSerializedProperties(); } }