50 lines
1.1 KiB
C#
50 lines
1.1 KiB
C#
using HarmonyLib;
|
|
|
|
namespace IdleSpectator;
|
|
|
|
/// <summary>Book lifecycle patches from mutation discovery.</summary>
|
|
[HarmonyPatch]
|
|
public static class BookEventPatches
|
|
{
|
|
[HarmonyPatch(typeof(BookManager), nameof(BookManager.newBook))]
|
|
[HarmonyPostfix]
|
|
public static void PostfixNewBook(Book __result)
|
|
{
|
|
if (__result == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
BookInterestFeed.EmitFromBook(__result, "new");
|
|
}
|
|
|
|
[HarmonyPatch(typeof(BookManager), nameof(BookManager.generateNewBook))]
|
|
[HarmonyPostfix]
|
|
public static void PostfixGenerateNewBook(Book __result)
|
|
{
|
|
if (__result == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
BookInterestFeed.EmitFromBook(__result, "generate");
|
|
}
|
|
|
|
[HarmonyPatch(typeof(BookManager), nameof(BookManager.burnBook))]
|
|
[HarmonyPostfix]
|
|
public static void PostfixBurnBook(object[] __args)
|
|
{
|
|
Book book = null;
|
|
if (__args != null && __args.Length > 0)
|
|
{
|
|
book = __args[0] as Book;
|
|
}
|
|
|
|
if (book == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
BookInterestFeed.EmitFromBook(book, "burn");
|
|
}
|
|
}
|