-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEnemyShadowAnimPatch.cs
More file actions
38 lines (33 loc) · 1.49 KB
/
EnemyShadowAnimPatch.cs
File metadata and controls
38 lines (33 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System.Diagnostics.CodeAnalysis;
using HarmonyLib;
using UnityEngine;
#pragma warning disable CS8618
namespace LoomConfig
{
[HarmonyPatch(typeof(EnemyShadowAnim))]
[SuppressMessage("ReSharper", "InconsistentNaming")]
public class EnemyShadowAnimPatch
{
[HarmonyPrefix, HarmonyPatch(nameof(EnemyShadowAnim.Update))]
public static void UpdatePrefix(EnemyShadowAnim __instance)
{
var idleLoopVolume = LoomConfig.configIdleLoopVolume.Value;
if (Mathf.Approximately(idleLoopVolume, .1f) || Mathf.Approximately(idleLoopVolume, __instance.idleLoop.Volume)) return;
__instance.idleLoop.Volume = idleLoopVolume;
}
// Fix for Loom's global clap audio playing at world origin
[HarmonyPrefix, HarmonyPatch(nameof(EnemyShadowAnim.PlayClapSound))]
public static bool PlayClapSoundPrefix(EnemyShadowAnim __instance)
{
if (!LoomConfig.configFixGlobalClapAudio.Value)
{
LoomConfig.Debug("Played globalClapSound at vanilla position (Vector3.zero)", __instance);
return true;
}
__instance.clapSound.Play(__instance.transform.position);
__instance.globalClapSound.Play(__instance.transform.position);
LoomConfig.Debug($"Played globalClapSound at fixed position (transform.position: {__instance.transform.position})", __instance);
return false;
}
}
}