Exemple #1
0
    // Corrotina que gerencia os sons emitodos pelo inimigo ao se movimentar
    public IEnumerator PlayEnemyVoice()
    {
        while (true)
        {
            AudioSource[] allAudioSources = gameObject.GetComponents <AudioSource>();  // Encontra todos os AudioSorces do inimigo
            foreach (AudioSource Asource in allAudioSources)
            {
                Asource.Stop();                                        // Interrompe todos os AudioSorces do inimigo
            }
            if (!VoiceAudioSource.isPlaying)                           // Se o AudioSource de voz nao esta tocando...
            {
                VoiceAudioSource.Play();                               // Executa o AudioSource de voz
            }
            yield return(new WaitForSeconds(1.5f));                    // Aguarda 1.5 seg

            yield return(null);                                        // Retorna null
        }
    }
Exemple #2
0
    /// <summary>
    ///     Implementation of the ITrackableEventHandler function called when the
    ///     tracking state changes.
    /// </summary>
    public void OnTrackableStateChanged(
        TrackableBehaviour.Status previousStatus,
        TrackableBehaviour.Status newStatus)
    {
        m_PreviousStatus = previousStatus;
        m_NewStatus      = newStatus;

        Debug.Log("Trackable " + mTrackableBehaviour.TrackableName +
                  " " + mTrackableBehaviour.CurrentStatus +
                  " -- " + mTrackableBehaviour.CurrentStatusInfo);

        if (newStatus == TrackableBehaviour.Status.DETECTED ||
            newStatus == TrackableBehaviour.Status.TRACKED ||
            newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
        {
            OnTrackingFound();
            if (mTrackableBehaviour.TrackableName == "Xx")
            {
                Default.PlayOneShot(DefaultClip);
                StableTree.SetActive(true);
            }
        }
        else if (previousStatus == TrackableBehaviour.Status.TRACKED &&
                 newStatus == TrackableBehaviour.Status.NO_POSE)
        {
            OnTrackingLost();
            {
                if (mTrackableBehaviour.TrackableName == "Xx")
                {
                    Reset.SetActive(false);
                    Asource.Stop();
                    Default.Stop();
                }
            }
        }
        else
        {
            // For combo of previousStatus=UNKNOWN + newStatus=UNKNOWN|NOT_FOUND
            // Vuforia is starting, but tracking has not been lost or found yet
            // Call OnTrackingLost() to hide the augmentations
            OnTrackingLost();
        }
    }