Exemple #1
0
 /// <summary>
 /// Plays the emitter if it isn't playing already.
 /// </summary>
 public static void PlayEmitterIfNotPlaying(FMODUnity.StudioEventEmitter fmodComponent)
 {
     if (!fmodComponent.IsPlaying())
     {
         fmodComponent.Play();
     }
 }
Exemple #2
0
 void findTrackManager()
 {
     if (!fManager)
     {
         fManager = GameObject.Find("TrackManager");
         emitter  = fManager.GetComponent <FMODUnity.StudioEventEmitter>();
     }
 }
Exemple #3
0
        private void OnEnable()
        {
            if (!helicopterSound)
            {
                helicopterSound = AudioManager.Instance.InitializeAudioOnObject(gameObject, "event:/helicopter");
            }

            AudioManager.Instance.PlayEmitterOnce(helicopterSound);
        }
Exemple #4
0
        /// <summary>
        /// Overrides the StudioEventEmitter's min/max values to whatever the sound designer wants.
        /// <paramref name="minDistance"/> cannot be greater than <paramref name="maxDistance"/>.
        /// </summary>
        /// <param name="eventEmitter"></param>
        /// <param name="minDistance"></param>
        /// <param name="maxDistance"></param>
        public static void Set3DAttenuationSettings(FMODUnity.StudioEventEmitter eventEmitter, float minDistance, float maxDistance)
        {
            //Stop minDistance from being greater than maxDistance and vice versa.
            minDistance = Mathf.Clamp(minDistance, 0, maxDistance);
            maxDistance = Mathf.Max(minDistance, maxDistance);

            eventEmitter.OverrideAttenuation = true;
            eventEmitter.OverrideMinDistance = minDistance;
            eventEmitter.OverrideMaxDistance = maxDistance;
        }
Exemple #5
0
        /// <summary>
        /// <see cref="Vector2.x"/> = Minimum, <see cref="Vector2.y"/> = Maximum.
        /// </summary>
        public static Vector2 GetParameterRange(FMODUnity.StudioEventEmitter eventEmitter, string parameterName)
        {
            eventEmitter.EventDescription.getParameterDescriptionByName(parameterName, out FMOD.Studio.PARAMETER_DESCRIPTION paramDescription);

            Vector2 parameterRange = new Vector2();

            parameterRange.x = paramDescription.minimum;
            parameterRange.y = paramDescription.maximum;
            return(parameterRange);
        }
Exemple #6
0
 /// <summary>
 /// This function is pretty useless, use the functions already present on the StudioEventEmitter instead.
 /// <para></para>
 /// Either play or stop the inserted StudioEventEmitter-component.<para></para>
 /// TRUE = Play sound.
 /// <para></para> FALSE = Stop the sound.
 /// </summary>
 public static void PlayOrStopSound(FMODUnity.StudioEventEmitter fmodComponent, bool play)
 {
     if (play)
     {
         fmodComponent.Play();
     }
     else
     {
         fmodComponent.Stop();
     }
 }
Exemple #7
0
        // Start is called before the first frame update
        void Start()
        {
            fManager = GameObject.Find("TrackManager");
            emitter  = fManager.GetComponent <FMODUnity.StudioEventEmitter>();
            if (fManager)
            {
                Debug.Log(fManager.name);
            }
            else
            {
                Debug.Log("No TrackManager found!");
            }

            if (emitter == null)
            {
                Debug.LogWarning("No fmod emitter found, audio will not play.");
            }
        }
 // Start is called before the first frame update
 void Start()
 {
     fireCrackling_emitter = fireSprite.GetComponent <FMODUnity.StudioEventEmitter>();
     fireSprite.SetActive(false);
 }
Exemple #9
0
 /// <summary>
 /// Doesn't seem to work.
 /// </summary>
 /// <param name="eventEmitter"></param>
 /// <param name="minDistance"></param>
 /// <param name="maxDistance"></param>
 public static void Get3DAttenuationSettings(FMODUnity.StudioEventEmitter eventEmitter, out float minDistance, out float maxDistance)
 {
     Get3DAttenuationSettings(eventEmitter.EventInstance, out minDistance, out maxDistance);
 }
Exemple #10
0
 /// <summary>
 /// Doesn't seem to work until the 3rd or 4th frame for some reason.
 /// </summary>
 /// <param name="eventEmitter"></param>
 public static void SetRandomTimelinePosition(FMODUnity.StudioEventEmitter eventEmitter)
 {
     SetRandomTimelinePosition(eventEmitter.EventInstance);
 }
Exemple #11
0
 public static float GetParameterValue(FMODUnity.StudioEventEmitter eventEmitter, string parameterName)
 {
     return(GetParameterValue(eventEmitter.EventInstance, parameterName));
 }
Exemple #12
0
 /// <summary>
 /// Changes parameter values for the FMODUnity.StudioEventEmitter-object that is passed into the function.
 /// <para></para>
 /// This will only work for events that are currently playing, ie. you cannot set this before playing a OneShot. Use <see cref="FMODUnity.RuntimeManager.CreateInstance(string)"/> for that instead.
 /// </summary>
 public static void SetParameter(FMODUnity.StudioEventEmitter eventEmitter, string parameterName, float parameterValue)
 {
     eventEmitter.SetParameter(parameterName, parameterValue);
 }
Exemple #13
0
 override protected void Awake()
 {
     m_particle   = GetComponent <ParticleSystem>();
     m_sfxEmitter = GetComponent <FMODUnity.StudioEventEmitter>();
     base.Awake();
 }