Untitled
unknown
plain_text
4 years ago
1.6 kB
11
Indexable
public class FmodHandler : MonoBehaviour
{
private FMOD.Studio.EventInstance instance;
[FMODUnity.EventRef]
public string fmodEvent = "event:/";
[SerializeField]
FmodParams[] _fmodParams;
private void Start()
{
instance = FMODUnity.RuntimeManager.CreateInstance(fmodEvent);
for (int i = 0; i < _fmodParams.Length; i++)
{
_fmodParams[i].Init(ref instance);
}
instance.start();
}
public void InvokeEventEmitter(float value)
{
instance.setParameterByID(_fmodParams[0].paramID, value);
}
public void InvokeEventEmitter(float[] floats)
{
for (int i = 0; i < floats.Length; i++)
{
instance.setParameterByID(_fmodParams[i].paramID, floats[i]) ;
}
}
}
[System.Serializable]
public class FmodParams
{
public FMOD.Studio.PARAMETER_ID paramID;
public string ParameterName = "None";
public void Init(ref FMOD.Studio.EventInstance instance)
{
FMOD.Studio.EventDescription paramEventDescription;
instance.getDescription(out paramEventDescription);
FMOD.Studio.PARAMETER_DESCRIPTION paramNameDescription;
paramEventDescription.getParameterDescriptionByName(ParameterName, out paramNameDescription);
paramID = paramNameDescription.id;
}
}Editor is loading...