private static void HandleInteractivityStateChangedInternal(object sender, InteractivityStateChangedEventArgs e) { if (e == null) { return; } var state = e.State; switch (state) { case InteractivityState.ShortCodeRequired: if (!mixerDialog.gameObject.activeInHierarchy) { mixerDialog.gameObject.SetActive(true); } mixerDialog.Show(InteractivityManager.SingletonInstance.ShortCode); break; case InteractivityState.InteractivityEnabled: mixerDialog.Hide(); ProcessSerializedProperties(); pendingGoInteractive = false; break; default: break; } }
private void OnMixerInteractivtyStarted(object sender, InteractivityStateChangedEventArgs e) { if (MixerInteractive.InteractivityState == InteractivityState.InteractivityEnabled) { MixerInteractive.SetCurrentScene(OnlineConstants.SCENE_LOBBY); _stateMachine.UpdateLobbyStatus(); _stateMachine.HandlePlayerJoins(); } }
private void OnInteractivityStateChanged(object sender, InteractivityStateChangedEventArgs e) { // When the InteractivityState property is InteractivityEnabled // that means your game is fully connected to the Mixer service and able to // recieve interactive input from the audience. if (MixerInteractive.InteractivityState == InteractivityState.InteractivityEnabled) { var connectionStatus = GetComponent<Text>(); connectionStatus.text = "Success: Connected!"; } }
private void OnInteractivityStateChanged(object sender, InteractivityStateChangedEventArgs e) { if (InteractivityManager.SingletonInstance.InteractivityState == InteractivityState.ShortCodeRequired) { mockIsInteractive = true; MockReady(); // Add a default participant if there isn't one, otherwise simulated controls won't work. if (InteractivityManager.SingletonInstance.Participants.Count == 0) { MockParticipantJoin("Fake participant 1"); } } }
private static void HandleInteractivityStateChangedInternal(object sender, InteractivityStateChangedEventArgs e) { var state = e.State; switch (state) { case InteractivityState.ShortCodeRequired: mixerDialog.Show(InteractivityManager.SingletonInstance.ShortCode); break; case InteractivityState.InteractivityEnabled: mixerDialog.Hide(); ProcessSerializedProperties(); pendingGoInteractive = false; break; default: break; } }
// Update is called once per frame void Update() { #if UNITY_XBOXONE && !UNITY_EDITOR if (startInitializationCoRoutine) { startInitializationCoRoutine = false; StartCoroutine(InitializeCoRoutine()); } #endif if (processedSerializedProperties && shouldCheckForOutstandingRequests && !outstandingRequestsCompleted && Time.time - lastCheckForOutstandingRequestsTime > CHECK_FOR_OUTSTANDING_REQUESTS_INTERVAL) { lastCheckForOutstandingRequestsTime = Time.time; outstandingRequestsCompleted = CheckForOutStandingRequestsCompleted(); } InteractivityManager.SingletonInstance.DoWork(); List <InteractiveEventArgs> processedEvents = new List <InteractiveEventArgs>(); if (queuedEvents != null) { // Raise events foreach (InteractiveEventArgs interactiveEvent in queuedEvents) { if (interactiveEvent == null) { continue; } switch (interactiveEvent.EventType) { case InteractiveEventType.InteractivityStateChanged: InteractivityStateChangedEventArgs interactivityStateChangedArgs = interactiveEvent as InteractivityStateChangedEventArgs; if (interactivityStateChangedArgs.State == InteractivityState.InteractivityEnabled && (!shouldCheckForOutstandingRequests || outstandingRequestsCompleted) && !hasFiredGoInteractiveEvent) { if (OnGoInteractive != null) { hasFiredGoInteractiveEvent = true; OnGoInteractive(this, interactivityStateChangedArgs); } } if (OnInteractivityStateChanged != null) { OnInteractivityStateChanged(this, interactivityStateChangedArgs); } processedEvents.Add(interactiveEvent); break; case InteractiveEventType.ParticipantStateChanged: if (outstandingRequestsCompleted) { if (OnParticipantStateChanged != null) { OnParticipantStateChanged(this, interactiveEvent as InteractiveParticipantStateChangedEventArgs); } processedEvents.Add(interactiveEvent); } break; case InteractiveEventType.Button: if (OnInteractiveButtonEvent != null) { OnInteractiveButtonEvent(this, interactiveEvent as InteractiveButtonEventArgs); } processedEvents.Add(interactiveEvent); break; case InteractiveEventType.Joystick: if (OnInteractiveJoystickControlEvent != null) { OnInteractiveJoystickControlEvent(this, interactiveEvent as InteractiveJoystickEventArgs); } processedEvents.Add(interactiveEvent); break; case InteractiveEventType.Error: if (OnError != null) { OnError(this, interactiveEvent as InteractiveEventArgs); } processedEvents.Add(interactiveEvent); break; default: if (OnInteractiveMessageEvent != null) { OnInteractiveMessageEvent(this, interactiveEvent as InteractiveMessageEventArgs); } processedEvents.Add(interactiveEvent); break; } } foreach (InteractiveEventArgs eventArgs in processedEvents) { queuedEvents.Remove(eventArgs); } } if (InteractivityManager.SingletonInstance.InteractivityState == InteractivityState.InteractivityEnabled && shouldCheckForOutstandingRequests && outstandingRequestsCompleted && !hasFiredGoInteractiveEvent) { if (OnGoInteractive != null) { hasFiredGoInteractiveEvent = true; OnGoInteractive(this, new InteractiveEventArgs()); } } }
private static void HandleInteractivityStateChanged(object sender, InteractivityStateChangedEventArgs e) { queuedEvents.Add(e); }