Skip to content

Commit 7e000ad

Browse files
committed
Remove hook system dependency for base plugin functions
Some plugins depended certain hooks being called to be able to work correctly. This switches to a more efficient event based system for base plugin functions.
1 parent b27819e commit 7e000ad

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

src/CSharpPlugin.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,9 @@ public override void HandleAddedToManager(PluginManager manager)
314314
Watcher.AddMapping(Name);
315315
}
316316

317+
Manager.OnPluginAdded += OnPluginLoaded;
318+
Manager.OnPluginRemoved += OnPluginUnloaded;
319+
317320
foreach (var member in pluginReferenceMembers)
318321
{
319322
if (member.Value.MemberType == MemberTypes.Property)
@@ -353,6 +356,9 @@ public override void HandleRemovedFromManager(PluginManager manager)
353356

354357
Watcher.RemoveMapping(Name);
355358

359+
Manager.OnPluginAdded -= OnPluginLoaded;
360+
Manager.OnPluginRemoved -= OnPluginUnloaded;
361+
356362
foreach (var member in pluginReferenceMembers)
357363
{
358364
if (member.Value.MemberType == MemberTypes.Property)
@@ -438,8 +444,7 @@ public void SetFailState(string reason)
438444
throw new PluginLoadFailure(reason);
439445
}
440446

441-
[HookMethod("OnPluginLoaded")]
442-
private void base_OnPluginLoaded(Plugin plugin)
447+
private void OnPluginLoaded(Plugin plugin)
443448
{
444449
if (pluginReferenceMembers.TryGetValue(plugin.Name, out MemberInfo member))
445450
{
@@ -455,8 +460,7 @@ private void base_OnPluginLoaded(Plugin plugin)
455460
}
456461
}
457462

458-
[HookMethod("OnPluginUnloaded")]
459-
private void base_OnPluginUnloaded(Plugin plugin)
463+
private void OnPluginUnloaded(Plugin plugin)
460464
{
461465
if (pluginReferenceMembers.TryGetValue(plugin.Name, out MemberInfo member))
462466
{

0 commit comments

Comments
 (0)