AudioSimplePatches.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using Il2Cpp;
  2. using Il2CppAudio.SimpleAudio;
  3. using Il2CppNodeCanvas.Tasks.Actions;
  4. using MelonLoader;
  5. using UnityEngine;
  6. namespace AudioMgr
  7. {
  8. [HarmonyLib.HarmonyPatch(typeof(PlayAudioSimple), "Start")]
  9. public class PlayAudioSimplePatch
  10. {
  11. public static bool Prefix(ref PlayAudioSimple __instance)
  12. {
  13. if (AudioMain._debug)
  14. MelonLogger.Msg("Play simple started " + __instance.m_Event.Name + " on " + __instance.gameObject.name);
  15. if (__instance.m_Event == null || __instance.gameObject == null)
  16. {
  17. return true;
  18. }
  19. if (Settings.options.disableWaterfall && __instance.m_Event.Name.Contains("Waterfall"))
  20. {
  21. return false;
  22. }
  23. /*if (__instance.m_Event.Name.Contains("Play_MainMenuSurvivalMode_PanelMainMenu"))
  24. {
  25. MelonLogger.Msg("MainMenuSurvivalMode_PanelMainMenu");
  26. return false;
  27. }*/
  28. if (PatchMaster.PatchAction(__instance.name, __instance.gameObject))
  29. {
  30. return false;
  31. }
  32. if (PatchMaster.PatchAction(__instance.m_Event.Name, __instance.gameObject))
  33. {
  34. return false;
  35. }
  36. if (PatchMaster.PatchAction(__instance.m_EventName, __instance.gameObject))
  37. {
  38. return false;
  39. }
  40. return true;
  41. }
  42. }
  43. }