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();

View File

@@ -45,6 +45,8 @@ namespace MareSynchronos.Managers
_apiController.Disconnected += ApiController_Disconnected;
_transientResourceManager.TransientResourceLoaded += HandleTransientResourceLoad;
_dalamudUtil.DelayedFrameworkUpdate += DalamudUtilOnDelayedFrameworkUpdate;
_ipcManager.HeelsOffsetChangeEvent += HeelsOffsetChanged;
Logger.Debug("Watching Player, ApiController is Connected: " + _apiController.IsConnected);
if (_apiController.IsConnected)

View File

@@ -22,6 +22,9 @@ namespace MareSynchronos.Models
[JsonProperty]
public string ManipulationString { get; set; } = string.Empty;
[JsonProperty]
public float HeelsOffset { get; set; } = 0f;
public void AddFileReplacement(ObjectKind objectKind, FileReplacement fileReplacement)
{
if (!fileReplacement.HasFileReplacement) return;
@@ -67,7 +70,8 @@ namespace MareSynchronos.Models
{
FileReplacements = fileReplacements,
GlamourerData = GlamourerString.ToDictionary(d => d.Key, d => d.Value),
ManipulationData = ManipulationString
ManipulationData = ManipulationString,
HeelsOffset = HeelsOffset
};
}