Add preliminary pap handling to character collections.

This commit is contained in:
Ottermandias 2022-06-04 19:02:58 +02:00
parent c0102368c3
commit f0131dd5ba
3 changed files with 83 additions and 2 deletions

View file

@ -72,12 +72,16 @@ public unsafe partial class PathResolver
CharacterBaseCreateHook?.Enable();
EnableDrawHook?.Enable();
CharacterBaseDestructorHook?.Enable();
CharacterBaseLoadAnimationHook?.Enable();
RandomPapHook?.Enable();
Penumbra.CollectionManager.CollectionChanged += CheckCollections;
}
private void DisableDataHooks()
{
Penumbra.CollectionManager.CollectionChanged -= CheckCollections;
RandomPapHook?.Disable();
CharacterBaseLoadAnimationHook?.Disable();
CharacterBaseCreateHook?.Disable();
EnableDrawHook?.Disable();
CharacterBaseDestructorHook?.Disable();
@ -85,12 +89,13 @@ public unsafe partial class PathResolver
private void DisposeDataHooks()
{
CharacterBaseLoadAnimationHook?.Dispose();
CharacterBaseCreateHook?.Dispose();
EnableDrawHook?.Dispose();
CharacterBaseDestructorHook?.Dispose();
RandomPapHook?.Dispose();
}
// This map links DrawObjects directly to Actors (by ObjectTable index) and their collections.
// It contains any DrawObjects that correspond to a human actor, even those without specific collections.
internal readonly Dictionary< IntPtr, (ModCollection, int) > DrawObjectToObject = new();