using System; using System.Collections.Generic; namespace StardewModdingAPI.Framework.Patching { /// Provides generic methods for implementing Harmony patches. internal class PatchHelper { /********* ** Fields *********/ /// The interception keys currently being intercepted. private static readonly HashSet InterceptingKeys = new HashSet(StringComparer.OrdinalIgnoreCase); /********* ** Public methods *********/ /// Track a method that will be intercepted. /// The intercept key. /// Returns false if the method was already marked for interception, else true. public static bool StartIntercept(string key) { return PatchHelper.InterceptingKeys.Add(key); } /// Track a method as no longer being intercepted. /// The intercept key. public static void StopIntercept(string key) { PatchHelper.InterceptingKeys.Remove(key); } } }