static AssetBundleCreateRequest MM_Detour(string path, uint crc, ulong offset) { AssetBundleCreateRequest result; var context = ResourceRedirection.Hook_AssetBundleLoading_Prefix(path, crc, offset, AssetBundleLoadType.LoadFromFile, out result); if (!context.SkipOriginalCall) { var p = context.Parameters; result = _original(p.Path, p.Crc, p.Offset); } ResourceRedirection.Hook_AssetBundleLoading_Postfix(context, result); return(result); }
static AssetBundleCreateRequest MM_Detour(byte[] binary, uint crc) { AssetBundleCreateRequest result; var parameters = new AssetBundleLoadingParameters(binary, null, crc, 0, AssetBundleLoadType.LoadFromMemory); var context = ResourceRedirection.Hook_AssetBundleLoading_Prefix(parameters, out result); if (!context.SkipOriginalCall) { var p = context.Parameters; result = _original(p.Binary, p.Crc); } ResourceRedirection.Hook_AssetBundleLoading_Postfix(context, result); return(result); }
static AssetBundleCreateRequest MM_Detour(Stream stream, uint crc, uint managedReadBufferSize) { AssetBundleCreateRequest result; var parameters = new AssetBundleLoadingParameters(null, null, crc, 0, stream, managedReadBufferSize, AssetBundleLoadType.LoadFromMemory); var context = ResourceRedirection.Hook_AssetBundleLoading_Prefix(parameters, out result); if (!context.SkipOriginalCall) { var p = context.Parameters; result = _original(p.Stream, p.Crc, p.ManagedReadBufferSize); } ResourceRedirection.Hook_AssetBundleLoading_Postfix(context, result); return(result); }