using Penumbra.Api.Enums; namespace Penumbra.Api; /// Used when a game object is redrawn by Penumbra. /// The to the redrawn object and its . public delegate void GameObjectRedrawnDelegate(nint objectPtr, int objectTableIndex); /// /// Used when the setting of a mod is changed in any way. /// /// The of change, /// the in which the setting is changed, /// the name of the mod, /// and whether the change was or not. public delegate void ModSettingChangedDelegate(ModSettingChange type, Guid collectionId, string modDirectory, bool inherited); /// /// Used before a new character base draw object is created from a . /// /// A pointer to the source , /// the used for the object, /// a pointer to the used (of type ushort*), /// a pointer to the array, /// and a pointer to the array. public delegate void CreatingCharacterBaseDelegate(nint gameObject, Guid collectionId, nint modelId, nint customize, nint equipData); /// /// Used after a character base has been created from a . /// /// A pointer to the source , /// the used for the object, /// a pointer to newly created . public delegate void CreatedCharacterBaseDelegate(nint gameObject, Guid collectionId, nint drawObject); /// /// Used when a specific game object has resolved a path to a non-default path. /// /// A pointer to the source , /// the original that was resolved by Penumbra, /// the resulting returned by Penumbra. public delegate void GameObjectResourceResolvedDelegate(nint gameObject, string gamePath, string localPath);