mirror of
https://github.com/hanetzer/sdraw_mods_cvr.git
synced 2025-09-05 19:39:21 +00:00
New mod: AdditionalAvatarParameters
This commit is contained in:
parent
ba56c113dc
commit
df96194c4d
16 changed files with 611 additions and 47 deletions
57
ml_aap/Main.cs
Normal file
57
ml_aap/Main.cs
Normal file
|
@ -0,0 +1,57 @@
|
|||
using ABI_RC.Core.Player;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ml_aap
|
||||
{
|
||||
public class AdditionalAvatarParameters : MelonLoader.MelonMod
|
||||
{
|
||||
static AdditionalAvatarParameters ms_instance = null;
|
||||
|
||||
ParametersHandler m_localHandler = null;
|
||||
|
||||
public override void OnApplicationStart()
|
||||
{
|
||||
ms_instance = this;
|
||||
|
||||
HarmonyInstance.Patch(
|
||||
typeof(PlayerSetup).GetMethod(nameof(PlayerSetup.ClearAvatar)),
|
||||
null,
|
||||
new HarmonyLib.HarmonyMethod(typeof(AdditionalAvatarParameters).GetMethod(nameof(OnLocalAvatarClear_Postfix), System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static))
|
||||
);
|
||||
|
||||
HarmonyInstance.Patch(
|
||||
typeof(PlayerSetup).GetMethod(nameof(PlayerSetup.SetupAvatar)),
|
||||
null,
|
||||
new HarmonyLib.HarmonyMethod(typeof(AdditionalAvatarParameters).GetMethod(nameof(OnLocalAvatarSetup_Postfix), System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static))
|
||||
);
|
||||
|
||||
MelonLoader.MelonCoroutines.Start(WaitForLocalPlayer());
|
||||
}
|
||||
|
||||
System.Collections.IEnumerator WaitForLocalPlayer()
|
||||
{
|
||||
while(PlayerSetup.Instance == null)
|
||||
yield return null;
|
||||
|
||||
m_localHandler = PlayerSetup.Instance.gameObject.AddComponent<ParametersHandler>();
|
||||
}
|
||||
|
||||
static void OnLocalAvatarClear_Postfix() => ms_instance?.OnLocalAvatarClear();
|
||||
void OnLocalAvatarClear()
|
||||
{
|
||||
if(m_localHandler != null)
|
||||
m_localHandler.OnAvatarClear();
|
||||
}
|
||||
|
||||
static void OnLocalAvatarSetup_Postfix() => ms_instance?.OnLocalAvatarSetup();
|
||||
void OnLocalAvatarSetup()
|
||||
{
|
||||
if(m_localHandler != null)
|
||||
m_localHandler.OnAvatarSetup();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue