// -- // void PlayOneShot(string eventName, EventPayload data) { FMODEventInstance = FMODUnity.RuntimeManager.CreateInstance(eventName); SetupSpacePosition(data.Has(_customPositionInEventPayload), data.Get <Vector3>(_customPositionInEventPayload)); FMODEventInstance.start(); FMODEventInstance.release(); }
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)); }