Skip to content

Commit

Permalink
improved harmony helper (#9)
Browse files Browse the repository at this point in the history
  • Loading branch information
amazingalek authored Dec 19, 2019
1 parent 8463781 commit 482168d
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
4 changes: 2 additions & 2 deletions OWML.Common/IHarmonyHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ namespace OWML.Common
{
public interface IHarmonyHelper
{
void AddPrefix<T>(string methodName, string patchName) where T : MonoBehaviour;
void AddPostfix<T>(string methodName, string patchName) where T : MonoBehaviour;
void AddPrefix<T>(string methodName, Type patchType, string patchMethodName) where T : MonoBehaviour;
void AddPostfix<T>(string methodName, Type patchType, string patchMethodName) where T : MonoBehaviour;
void EmptyMethod<T>(string methodName) where T : MonoBehaviour;
void Transpile<T>(string methodName, Type patchType, string patchMethodName) where T : MonoBehaviour;
}
Expand Down
8 changes: 4 additions & 4 deletions OWML.Events/HarmonyHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ public HarmonyHelper(IModLogger logger, IModConsole console)
_console = console;
}

public void AddPrefix<T>(string methodName, string patchName) where T : MonoBehaviour
public void AddPrefix<T>(string methodName, Type patchType, string patchMethodName) where T : MonoBehaviour
{
var prefix = typeof(Patches).GetMethod(patchName);
var prefix = patchType.GetAnyMethod(patchMethodName);
if (prefix == null)
{
_logger.Log("prefix is null");
Expand All @@ -29,9 +29,9 @@ public void AddPrefix<T>(string methodName, string patchName) where T : MonoBeha
Patch<T>(methodName, prefix, null, null);
}

public void AddPostfix<T>(string methodName, string patchName) where T : MonoBehaviour
public void AddPostfix<T>(string methodName, Type patchType, string patchMethodName) where T : MonoBehaviour
{
var postfix = typeof(Patches).GetMethod(patchName);
var postfix = patchType.GetAnyMethod(patchMethodName);
if (postfix == null)
{
_logger.Log("postfix is null");
Expand Down
8 changes: 4 additions & 4 deletions OWML.Events/ModEvents.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,22 @@ public void AddEvent<T>(Common.Events ev) where T : MonoBehaviour
{
case Common.Events.BeforeAwake:
{
_harmonyHelper.AddPrefix<T>("Awake", nameof(Patches.PreAwake));
_harmonyHelper.AddPrefix<T>("Awake", typeof(Patches), nameof(Patches.PreAwake));
break;
}
case Common.Events.BeforeStart:
{
_harmonyHelper.AddPrefix<T>("Awake", nameof(Patches.PreStart));
_harmonyHelper.AddPrefix<T>("Awake", typeof(Patches), nameof(Patches.PreStart));
break;
}
case Common.Events.AfterAwake:
{
_harmonyHelper.AddPostfix<T>("Start", nameof(Patches.PostAwake));
_harmonyHelper.AddPostfix<T>("Start", typeof(Patches), nameof(Patches.PostAwake));
break;
}
case Common.Events.AfterStart:
{
_harmonyHelper.AddPostfix<T>("Start", nameof(Patches.PostStart));
_harmonyHelper.AddPostfix<T>("Start", typeof(Patches), nameof(Patches.PostStart));
break;
}
default:
Expand Down

0 comments on commit 482168d

Please sign in to comment.