Esempio n. 1
0
        // -- //

        void PlayOneShot(string eventName, EventPayload data)
        {
            FMODEventInstance = FMODUnity.RuntimeManager.CreateInstance(eventName);

            SetupSpacePosition(data.Has(_customPositionInEventPayload), data.Get <Vector3>(_customPositionInEventPayload));
            FMODEventInstance.start();
            FMODEventInstance.release();
        }
Esempio n. 2
0
        void FeedParameters(EventPayload data)
        {
            int floatLoop = data.GetParametersOfType <float>(ref floatParameters);
            int boolLoop  = data.GetParametersOfType <bool>(ref boolParameters);

            for (int i = 0; i < _parameters.Length; ++i)
            {
                FMODEventInstance.setParameterValue(_parameters[i].name, _parameters[i].value);
            }

            for (int i = 0; i < floatLoop; ++i)
            {
                FMODEventInstance.setParameterValue(floatParameters[i], data.Get <float>(floatParameters[i]));
            }

            for (int i = 0; i < boolLoop; ++i)
            {
                // All bool are converted to float. True = 1.0f, False = 0.0f
                FMODEventInstance.setParameterValue(boolParameters[i], data.Get <bool>(boolParameters[i]) ? 1.0f : 0.0f);
            }

            SetupSpacePosition(data.Has(_customPositionInEventPayload), data.Get <Vector3>(_customPositionInEventPayload));
        }