public static void RegisterHandler <T>(TranslateDelegate <T> translate, string mark, int searchLength = -1, Encoding markEncoding = null, IEnumerable <string> searchPaths = null, CanHandleTypeDelegate canHandleType = null, LoadDelegate <T> load = null, StoreDelegate <T> store = null) where T : class
 {
     RegisterHandler(
         translate,
         MakeStandardCanHandleAsset(mark, searchLength, markEncoding, searchPaths),
         canHandleType,
         load,
         store);
 }
        public static void RegisterHandler <T>(TranslateDelegate <T> translate, CanHandleAssetDelegate canHandleAsset, CanHandleTypeDelegate canHandleType = null, LoadDelegate <T> load = null, StoreDelegate <T> store = null) where T : class
        {
            Handlers.Add(new Handler <T>(
                             translate,
                             canHandleAsset,
                             canHandleType ?? MakeStandardCanHandleType <T>(),
                             load ?? MakeStandardLoad <T>(),
                             store ?? MakeStandardStore <T>()));

            Enabled = Handlers.Count > 0;
            if (Enabled && TextAssetMessagePackHandler is null)
            {
                // don't create until needed to improve performance
                TextAssetMessagePackHandler = new TextAssetMessagePackHandler();
            }
        }