public static void Postfix(FMOD_CustomEmitter __instance)
        {
            if (fmodSystem.IsWhitelisted(__instance.asset.path, out bool isGlobal, out float radius))
            {
                __instance.GetEventInstance().getDescription(out EventDescription description);
                description.is3D(out bool is3D);

                if (is3D)
                {
                    __instance.TryGetComponent(out NitroxEntity nitroxEntity);
                    if (!nitroxEntity)
                    {
                        nitroxEntity = __instance.GetComponentInParent <NitroxEntity>();
                    }
                    if (nitroxEntity)
                    {
                        fmodSystem.PlayCustomEmitter(nitroxEntity.Id, __instance.asset.path, true);
                    }
                }
                else
                {
                    __instance.GetEventInstance().getVolume(out float volume, out float _);
                    fmodSystem.PlayAsset(__instance.asset.path, __instance.transform.position.ToDto(), volume, radius, isGlobal);
                }
            }
        }
Beispiel #2
0
 public static void Postfix(FMODAsset asset)
 {
     if (fmodSystem.IsWhitelisted(asset.path, out bool isGlobal, out float radius))
     {
         fmodSystem.PlayAsset(asset.path, Player.main.transform.position.ToDto(), 1f, radius, isGlobal);
     }
 }
Beispiel #3
0
 public static void Postfix(string eventPath, Vector3 position, float volume)
 {
     if (fmodSystem.IsWhitelisted(eventPath, out bool isGlobal, out float radius))
     {
         fmodSystem.PlayAsset(eventPath, position.ToDto(), volume, radius, isGlobal);
     }
 }