// Update is called once per frame
    void Update()
    {
        GameObject     mainCamera     = GameObject.Find("Main Camera");
        CameraBehavior cameraBehavior = mainCamera.GetComponent <CameraBehavior> ();
        //int gazeIdx = cameraBehavior.GetMostRecentGazeIndex();
        int gazeFrames = 0;
        int teleportationFramesThreshold = 120;

        // TODO: Fix this so that the tail of the fragment doesn't get cut off
        //if (cameraBehavior.GetIsDisembodied()) {
        //	return;
        //}

        // Query the number of frames gazed at, then set our emitter's parameter
        if (entityIdx < 0)           // Eve (Gazer)
        {
            gazeFrames = GameObject.Find("Gazer Avatar").GetComponent <GazerAvatarGazeBehavior>().GetFramesGazedAt();
            if (!cameraBehavior.GetIsDisembodied() && cameraBehavior.GetFramesSinceLastTeleportation() < teleportationFramesThreshold)
            {
                return;
            }
        }
        else           // Everyone else
        {
            Transform gazeEntity = GameObject.Find("Entity Manager").GetComponent <GameBehavior> ().GetEntity(this.entityIdx);
            gazeFrames = gazeEntity.GetComponent <TeleportSelfAndGazer> ().GetFramesGazedAt();
        }
        this.GetComponent <FMODUnity.StudioEventEmitter> ().SetParameter("framesGazedAt", gazeFrames);
    }
    // Update is called once per frame
    void Update()
    {
        GameObject     mainCamera             = GameObject.Find("Main Camera");
        CameraBehavior cameraBehavior         = mainCamera.GetComponent <CameraBehavior> ();
        float          rotationOffset         = Mathf.Abs(mainCamera.transform.eulerAngles.y / 360);
        float          timeSinceTeleportation = Mathf.Min(cameraBehavior.GetFramesSinceLastTeleportation() / framesSinceLastTeleportationThreshold, 1.0f);
        //float gazeAmount = cameraBehavior.GetGazeAmount ();
        float isDisembodiedFloat = cameraBehavior.GetIsDisembodied() ? 1.0f : 0.0f;
        float characterIndex     = (cameraBehavior.GetIsDisembodied() ? cameraBehavior.GetMostRecentGazeIndex() : -1.0f) // Either character at most recent gazed index, or Eve character itself
                                   + 1.01f;                                                                              // Offset since Eve is 0.0-1.0

        // For GazerAmbience
        //emitter.SetParameter ("Rotation Offset", rotationOffset);
        //emitter.SetParameter ("Time Since Teleportation", timeSinceTeleportation);
        //emitter.SetParameter ("Is Disembodied?", isDisembodiedFloat);

        // For AllCharactersMain
        emitter.SetParameter("timeSinceTeleportation", timeSinceTeleportation);
        emitter.SetParameter("characterIndex", characterIndex);

        //Debug.Log ("time since teleportation: " + timeSinceTeleportation + ", character idx: " + characterIndex);
    }