refactor a little bit
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
using K4os.Compression.LZ4.Legacy;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
using MareSynchronos.FileCache;
|
||||
using MareSynchronos.Interop;
|
||||
using MareSynchronos.Interop.Ipc;
|
||||
using MareSynchronos.MareConfiguration;
|
||||
using MareSynchronos.PlayerData.Factories;
|
||||
using MareSynchronos.PlayerData.Handlers;
|
||||
@@ -51,12 +51,12 @@ public class MareCharaFileManager : DisposableMediatorSubscriberBase
|
||||
{
|
||||
if ((await dalamudUtil.RunOnFrameworkThread(() => item.Value.CurrentAddress()).ConfigureAwait(false)) != nint.Zero)
|
||||
{
|
||||
await _ipcManager.GlamourerRevert(logger, item.Value.Name, item.Value, Guid.NewGuid(), cts.Token).ConfigureAwait(false);
|
||||
await _ipcManager.Glamourer.RevertAsync(logger, item.Value, Guid.NewGuid(), cts.Token).ConfigureAwait(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
_logger.LogDebug("Reverting by name: {name}", item.Key);
|
||||
_ipcManager.GlamourerRevertByName(logger, item.Key, Guid.NewGuid());
|
||||
_ipcManager.Glamourer.RevertByName(logger, item.Key, Guid.NewGuid());
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ public class MareCharaFileManager : DisposableMediatorSubscriberBase
|
||||
}
|
||||
foreach (var id in _gposeCustomizeObjects.Where(d => d != null))
|
||||
{
|
||||
await _ipcManager.CustomizePlusRevertByIdAsync(id).ConfigureAwait(false);
|
||||
await _ipcManager.CustomizePlus.RevertByIdAsync(id).ConfigureAwait(false);
|
||||
}
|
||||
_gposeGameObjects.Clear();
|
||||
});
|
||||
@@ -99,10 +99,10 @@ public class MareCharaFileManager : DisposableMediatorSubscriberBase
|
||||
}
|
||||
}
|
||||
var applicationId = Guid.NewGuid();
|
||||
var coll = await _ipcManager.PenumbraCreateTemporaryCollectionAsync(_logger, charaTarget.Name.TextValue).ConfigureAwait(false);
|
||||
await _ipcManager.PenumbraAssignTemporaryCollectionAsync(_logger, coll, charaTarget.ObjectIndex).ConfigureAwait(false);
|
||||
await _ipcManager.PenumbraSetTemporaryModsAsync(_logger, applicationId, coll, extractedFiles.Union(fileSwaps).ToDictionary(d => d.Key, d => d.Value, StringComparer.Ordinal)).ConfigureAwait(false);
|
||||
await _ipcManager.PenumbraSetManipulationDataAsync(_logger, applicationId, coll, LoadedCharaFile.CharaFileData.ManipulationData).ConfigureAwait(false);
|
||||
var coll = await _ipcManager.Penumbra.CreateTemporaryCollectionAsync(_logger, charaTarget.Name.TextValue).ConfigureAwait(false);
|
||||
await _ipcManager.Penumbra.AssignTemporaryCollectionAsync(_logger, coll, charaTarget.ObjectTableIndex()!.Value).ConfigureAwait(false);
|
||||
await _ipcManager.Penumbra.SetTemporaryModsAsync(_logger, applicationId, coll, extractedFiles.Union(fileSwaps).ToDictionary(d => d.Key, d => d.Value, StringComparer.Ordinal)).ConfigureAwait(false);
|
||||
await _ipcManager.Penumbra.SetManipulationDataAsync(_logger, applicationId, coll, LoadedCharaFile.CharaFileData.ManipulationData).ConfigureAwait(false);
|
||||
|
||||
GameObjectHandler tempHandler = await _gameObjectHandlerFactory.Create(ObjectKind.Player,
|
||||
() => _dalamudUtil.GetGposeCharacterFromObjectTableByName(charaTarget.Name.ToString(), _isInGpose)?.Address ?? IntPtr.Zero, isWatched: false).ConfigureAwait(false);
|
||||
@@ -110,18 +110,18 @@ public class MareCharaFileManager : DisposableMediatorSubscriberBase
|
||||
if (!_gposeGameObjects.ContainsKey(charaTarget.Name.ToString()))
|
||||
_gposeGameObjects[charaTarget.Name.ToString()] = tempHandler;
|
||||
|
||||
await _ipcManager.GlamourerApplyAllAsync(_logger, tempHandler, LoadedCharaFile.CharaFileData.GlamourerData, applicationId, disposeCts.Token).ConfigureAwait(false);
|
||||
await _ipcManager.PenumbraRedrawAsync(_logger, tempHandler, applicationId, disposeCts.Token).ConfigureAwait(false);
|
||||
await _ipcManager.Glamourer.ApplyAllAsync(_logger, tempHandler, LoadedCharaFile.CharaFileData.GlamourerData, applicationId, disposeCts.Token).ConfigureAwait(false);
|
||||
await _ipcManager.Penumbra.RedrawAsync(_logger, tempHandler, applicationId, disposeCts.Token).ConfigureAwait(false);
|
||||
_dalamudUtil.WaitWhileGposeCharacterIsDrawing(charaTarget.Address, 30000);
|
||||
await _ipcManager.PenumbraRemoveTemporaryCollectionAsync(_logger, applicationId, coll).ConfigureAwait(false);
|
||||
await _ipcManager.Penumbra.RemoveTemporaryCollectionAsync(_logger, applicationId, coll).ConfigureAwait(false);
|
||||
if (!string.IsNullOrEmpty(LoadedCharaFile.CharaFileData.CustomizePlusData))
|
||||
{
|
||||
var id = await _ipcManager.CustomizePlusSetBodyScaleAsync(tempHandler.Address, LoadedCharaFile.CharaFileData.CustomizePlusData).ConfigureAwait(false);
|
||||
var id = await _ipcManager.CustomizePlus.SetBodyScaleAsync(tempHandler.Address, LoadedCharaFile.CharaFileData.CustomizePlusData).ConfigureAwait(false);
|
||||
_gposeCustomizeObjects.Add(id);
|
||||
}
|
||||
else
|
||||
{
|
||||
var id = await _ipcManager.CustomizePlusSetBodyScaleAsync(tempHandler.Address, Convert.ToBase64String(Encoding.UTF8.GetBytes("{}"))).ConfigureAwait(false);
|
||||
var id = await _ipcManager.CustomizePlus.SetBodyScaleAsync(tempHandler.Address, Convert.ToBase64String(Encoding.UTF8.GetBytes("{}"))).ConfigureAwait(false);
|
||||
_gposeCustomizeObjects.Add(id);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user