Ejemplo n.º 1
0
    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;
        }
    }
Ejemplo n.º 2
0
        private void OnMixerInteractivtyStarted(object sender, InteractivityStateChangedEventArgs e)
        {
            if (MixerInteractive.InteractivityState == InteractivityState.InteractivityEnabled)
            {
                MixerInteractive.SetCurrentScene(OnlineConstants.SCENE_LOBBY);

                _stateMachine.UpdateLobbyStatus();
                _stateMachine.HandlePlayerJoins();
            }
        }
Ejemplo n.º 3
0
 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");
         }
     }
 }
Ejemplo n.º 5
0
    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;
        }
    }
Ejemplo n.º 6
0
    // 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());
            }
        }
    }
Ejemplo n.º 7
0
 private static void HandleInteractivityStateChanged(object sender, InteractivityStateChangedEventArgs e)
 {
     queuedEvents.Add(e);
 }