mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-01 05:49:23 +00:00
33 lines
No EOL
1.3 KiB
C#
33 lines
No EOL
1.3 KiB
C#
using System.Reflection;
|
|
using ABI_RC.Core.Util.AnimatorManager;
|
|
using ABI.CCK.Scripts;
|
|
using HarmonyLib;
|
|
using MelonLoader;
|
|
|
|
namespace NAK.AASDefaultProfileFix;
|
|
|
|
public class AASDefaultProfileFix : MelonMod
|
|
{
|
|
public override void OnInitializeMelon()
|
|
{
|
|
HarmonyInstance.Patch(
|
|
typeof(CVRAdvancedAvatarSettings).GetMethod(nameof(CVRAdvancedAvatarSettings.LoadProfile),
|
|
BindingFlags.Public | BindingFlags.Instance),
|
|
prefix: new HarmonyMethod(typeof(AASDefaultProfileFix).GetMethod(nameof(OnAttemptLoadAASProfile),
|
|
BindingFlags.NonPublic | BindingFlags.Static))
|
|
);
|
|
}
|
|
|
|
// when default profile is selected the defaultProfileName string is emptydepends
|
|
// so it does not load/apply anything- we will fix by forcing LoadDefault when this is detected
|
|
private static bool OnAttemptLoadAASProfile(string profileName, AvatarAnimatorManager animatorManager,
|
|
ref CVRAdvancedAvatarSettings __instance)
|
|
{
|
|
if (!string.IsNullOrEmpty(profileName) // LoadDefault sets defaultProfileName as ""
|
|
&& profileName != "default") // CVRAdvancedSettingsFile defines initial default as "default"
|
|
return true;
|
|
|
|
__instance.LoadDefault(animatorManager);
|
|
return false;
|
|
}
|
|
} |