Files
PrinceOfGlory/Assets/FileLoad.cs
2026-03-03 18:24:17 +08:00

55 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FileLoad
{
public static string GetMoviesFolder()
{
string[] temp = null;
#if UNITY_EDITOR
temp = new string[1];
// 获取项目根目录的AssetBundle文件夹路径
string projectPath = Application.dataPath.Replace("/Assets", "");
temp[0] = System.IO.Path.Combine(projectPath, "AssetBundle").Replace("\\", "/");
#else
temp = new string[1];
temp[0] = GetObbPath();
#endif
return temp[0];
}
public static string GetObbPath()
{
string obbPath = "";
#if UNITY_ANDROID && !UNITY_EDITOR
// 在Android设备上运行时
if (Application.platform == RuntimePlatform.Android)
{
try
{
// 获取OBB路径
using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
using (AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity"))
using (AndroidJavaObject packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"))
{
string packageName = currentActivity.Call<string>("getPackageName");
// 获取OBB路径
AndroidJavaObject packageInfo = packageManager.Call<AndroidJavaObject>("getPackageInfo", packageName, 0);
int versionCode = packageInfo.Get<int>("versionCode");
string mainOBBPath = string.Format("/storage/emulated/0/Android/obb/{0}/", packageName);
obbPath = mainOBBPath;
}
}
catch (System.Exception e)
{
Debug.LogError("获取OBB路径出错: " + e.Message);
}
}
#endif
return obbPath;
}
}