sdraw_mods_cvr/ml_dht/Main.cs
SDraw 85925a7072
Custom event classes for patched methods
Update to LeapCSharp 6.15.0
2024-04-27 00:23:03 +03:00

49 lines
No EOL
1.4 KiB
C#

using ABI_RC.Core.Player;
using ABI_RC.Core.Savior;
namespace ml_dht
{
public class DesktopHeadTracking : MelonLoader.MelonMod
{
DataParser m_dataParser = null;
HeadTracked m_localTracked = null;
public override void OnInitializeMelon()
{
Settings.Init();
GameEvents.InitA(HarmonyInstance);
MelonLoader.MelonCoroutines.Start(WaitForInstances());
}
System.Collections.IEnumerator WaitForInstances()
{
while(MetaPort.Instance == null)
yield return null;
while(PlayerSetup.Instance == null)
yield return null;
GameEvents.InitB(HarmonyInstance);
m_dataParser = new DataParser();
m_localTracked = PlayerSetup.Instance.gameObject.AddComponent<HeadTracked>();
}
public override void OnDeinitializeMelon()
{
m_dataParser = null;
m_localTracked = null;
}
public override void OnUpdate()
{
if(Settings.Enabled && (m_dataParser != null))
{
m_dataParser.Update();
if(m_localTracked != null)
m_localTracked.UpdateTrackingData(ref m_dataParser.GetLatestTrackingData());
}
}
}
}