M src/Core/NosSmooth.LocalBinding/NosBindingManager.cs => src/Core/NosSmooth.LocalBinding/NosBindingManager.cs +16 -12
@@ 26,7 26,7 @@ public class NosBindingManager : IDisposable
private readonly PetManagerBindingOptions _petManagerBindingOptions;
private readonly CharacterBindingOptions _characterBindingOptions;
private readonly NetworkBindingOptions _networkBindingOptions;
- private UnitManagerBindingOptions _unitManagerBindingOptions;
+ private readonly UnitManagerBindingOptions _unitManagerBindingOptions;
private NetworkBinding? _networkBinding;
private PlayerManagerBinding? _characterBinding;
@@ 309,19 309,23 @@ public class NosBindingManager : IDisposable
/// <summary>
/// Disable the currently enabled NosTale hooks.
/// </summary>
- /// <returns>A result that may or may not have succeeded.</returns>
- public Result DisableHooks()
+ public void DisableHooks()
{
- if (_networkBinding is not null)
- {
- var result = _networkBinding.DisableHooks();
- if (!result.IsSuccess)
- {
- return result;
- }
- }
+ _networkBinding?.DisableHooks();
+ _characterBinding?.DisableHooks();
+ _unitManagerBinding?.DisableHooks();
+ _petManagerBinding?.DisableHooks();
+ }
- return Result.FromSuccess();
+ /// <summary>
+ /// Enable all NosTale hooks.
+ /// </summary>
+ public void EnableHooks()
+ {
+ _networkBinding?.EnableHooks();
+ _characterBinding?.EnableHooks();
+ _unitManagerBinding?.EnableHooks();
+ _petManagerBinding?.EnableHooks();
}
/// <inheritdoc />
M src/Core/NosSmooth.LocalBinding/Objects/NetworkBinding.cs => src/Core/NosSmooth.LocalBinding/Objects/NetworkBinding.cs +12 -5
@@ 149,14 149,21 @@ public class NetworkBinding
}
/// <summary>
+ /// Enable all networking hooks.
+ /// </summary>
+ public void EnableHooks()
+ {
+ _receiveHook.Enable();
+ _sendHook.Enable();
+ }
+
+ /// <summary>
/// Disable all the hooks that are currently enabled.
/// </summary>
- /// <returns>A result that may or may not have succeeded.</returns>
- public Result DisableHooks()
+ public void DisableHooks()
{
- _receiveHook?.Disable();
- _sendHook?.Disable();
- return Result.FromSuccess();
+ _receiveHook.Disable();
+ _sendHook.Disable();
}
private nuint GetManagerAddress(bool third)
M src/Core/NosSmooth.LocalBinding/Objects/PetManagerBinding.cs => src/Core/NosSmooth.LocalBinding/Objects/PetManagerBinding.cs +16 -0
@@ 90,6 90,22 @@ public class PetManagerBinding
public PetManagerList PetManagerList { get; }
/// <summary>
+ /// Disable all PetManager hooks.
+ /// </summary>
+ public void DisableHooks()
+ {
+ _petWalkHook.Disable();
+ }
+
+ /// <summary>
+ /// Enable all PetManager hooks.
+ /// </summary>
+ public void EnableHooks()
+ {
+ _petWalkHook.Enable();
+ }
+
+ /// <summary>
/// Walk the given pet to the given location.
/// </summary>
/// <param name="selector">Index of the pet to walk. -1 for every pet currently available.</param>
M src/Core/NosSmooth.LocalBinding/Objects/PlayerManagerBinding.cs => src/Core/NosSmooth.LocalBinding/Objects/PlayerManagerBinding.cs +15 -5
@@ 132,13 132,23 @@ public class PlayerManagerBinding
public event Func<MapBaseObj?, bool>? FollowEntityCall;
/// <summary>
- /// Disable all the hooks that are currently enabled.
+ /// Disable all PlayerManager hooks.
/// </summary>
- /// <returns>A result that may or may not have succeeded.</returns>
- public Result DisableHooks()
+ public void DisableHooks()
{
- _walkHook?.Disable();
- return Result.FromSuccess();
+ _followHook.Disable();
+ _unfollowHook.Disable();
+ _walkHook.Disable();
+ }
+
+ /// <summary>
+ /// Enable all PlayerManager hooks.
+ /// </summary>
+ public void EnableHooks()
+ {
+ _followHook.Enable();
+ _unfollowHook.Enable();
+ _walkHook.Enable();
}
/// <summary>