您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 

46 行
1.7 KiB

#if !UNITY_EDITOR && UNITY_ANDROID
using UnityEngine;
using AOT;
using System;
using System.IO;
using System.Runtime.InteropServices;
using NativeBindings = Unity.UIWidgets.ui.NativeBindings;
namespace Unity.UIWidgets.engine2 {
public static class AndroidPlatformUtil {
[DllImport(NativeBindings.dllName)]
internal static extern void InitUnpackFile(UnpackFileCallback unpack);
internal delegate string UnpackFileCallback(string file);
[MonoPInvokeCallback(typeof(UnpackFileCallback))]
internal static string unpackFile(string file) {
var dir = Application.temporaryCachePath + "/";
if (!File.Exists(dir + file)) {
WWW unpackerWWW = new WWW("jar:file://" + Application.dataPath + "!/assets/" + file);
while (!unpackerWWW.isDone) {
} // This will block in the webplayer.
if (!string.IsNullOrEmpty(unpackerWWW.error)) {
Debug.Log("Error unpacking 'jar:file://" + Application.dataPath + "!/assets/" + file +
"'");
dir = "";
return dir + file;
}
System.IO.FileInfo fileInfo = new System.IO.FileInfo(dir + file);
fileInfo.Directory.Create();
System.IO.File.WriteAllBytes(fileInfo.FullName, unpackerWWW.bytes);
}
return dir + file;
}
[DllImport(NativeBindings.dllName)]
static extern System.IntPtr GetUnityContextEventFunc();
public static void Init() {
InitUnpackFile(unpackFile);
GL.IssuePluginEvent(GetUnityContextEventFunc(), 1);
}
}
}
#endif