fixes for heels or so I guess

This commit is contained in:
Stanley Dimant
2022-09-10 16:03:21 +02:00
parent d63d84c673
commit 782ec873f6
3 changed files with 33 additions and 2 deletions

View File

@@ -85,6 +85,14 @@ namespace MareSynchronos.Managers
_penumbraRemoveTemporaryCollection =
pi.GetIpcSubscriber<string, int>("Penumbra.RemoveTemporaryCollection");
_heelsGetApiVersion = pi.GetIpcSubscriber<string>("HeelsPlugin.ApiVersion");
_heelsGetOffset = pi.GetIpcSubscriber<float>("HeelsPlugin.GetOffset");
_heelsRegisterPlayer = pi.GetIpcSubscriber<GameObject, float, object?>("HeelsPlugin.RegisterPlayer");
_heelsUnregisterPlayer = pi.GetIpcSubscriber<GameObject, object?>("HeelsPlugin.UnregisterPlayer");
_heelsOffsetUpdate = pi.GetIpcSubscriber<float, object?>("HeelsPlugin.OffsetChanged");
_heelsOffsetUpdate.Subscribe(HeelsOffsetChange);
if (Initialized)
{
PenumbraInitialized?.Invoke();
@@ -144,6 +152,18 @@ namespace MareSynchronos.Managers
}
}
public bool CheckHeelsApi()
{
try
{
return _heelsGetApiVersion.InvokeFunc() == "1.0.1";
}
catch
{
return false;
}
}
public void Dispose()
{
Logger.Verbose("Disposing " + nameof(IpcManager));
@@ -175,7 +195,7 @@ namespace MareSynchronos.Managers
public void HeelsSetOffsetForPlayer(float offset, IntPtr character)
{
if(!CheckHeelsApi()) return;
if (!CheckHeelsApi()) return;
actionQueue.Enqueue(() =>
{
var gameObj = _dalamudUtil.CreateGameObject(character);
@@ -345,6 +365,11 @@ namespace MareSynchronos.Managers
_penumbraRedraw!.InvokeAction("self", 0);
}
private void HeelsOffsetChange(float offset)
{
HeelsOffsetChangeEvent?.Invoke(offset);
}
private void PenumbraDispose()
{
PenumbraDisposed?.Invoke();