using UnityEngine;
|
using System;
|
using System.IO;
|
|
public class ResourcesPath : Singleton<ResourcesPath>
|
{
|
public const string AssetDependentFileBundleName =
|
#if UNITY_ANDROID
|
"android";
|
#elif UNITY_IOS
|
"ios";
|
#else
|
"standalone";
|
#endif
|
|
public const string windowFileBundleName = "ui/window";
|
public const string uiprefabFileBundleName = "ui/prefab";
|
|
public readonly static string ResourcesOutPath = Application.dataPath + "/ResourcesOut/";
|
public const string ResourcesOutAssetPath = "Assets/ResourcesOut/";
|
public const string AssetDependentFileAssetName = "AssetBundleManifest";
|
public const string ABExtention = ".unity3d";
|
|
public readonly string StreamingAssetPath;
|
public readonly string ExternalStorePath;
|
|
#region 具体asset资源读取路径
|
|
public static readonly string MOB_FOLDER_NAME = "gmodels/";
|
public static readonly string MOB_SUFFIX = "prefab_race_";
|
|
public static readonly string EFFECT_Folder_Name = "effect/";
|
|
public static readonly string UI_SPRITE_SUFFIX = "UI/Sprite";
|
public static readonly string UI_WINDOW_SUFFIX = "UI/Window";
|
public static readonly string UI_PRIORITYWINDOW_SUFFIX = "UI/PriorityWindow";
|
public static readonly string UI_FONT_SUFFIX = "UI/Font";
|
public static readonly string UI_PREFAB_SUFFIX = "UI/Prefab";
|
|
public static readonly string CONFIG_FODLER = ResourcesOutPath + "Config/Configs/";
|
|
public static readonly string AUDIO_SUFFIX = "Audio/";
|
public static readonly string VIDEO_SUFFIX = "Video/";
|
|
|
#endregion
|
|
public void Init()
|
{
|
}
|
|
public ResourcesPath()
|
{
|
#if UNITY_ANDROID
|
StreamingAssetPath = Application.streamingAssetsPath + "/android/";
|
#elif UNITY_IOS
|
StreamingAssetPath = Application.streamingAssetsPath + "/ios/";
|
#else
|
StreamingAssetPath = Application.streamingAssetsPath + "/standalone/";
|
#endif
|
|
if (!Application.isEditor)
|
{
|
switch (Application.platform)
|
{
|
case RuntimePlatform.WindowsPlayer:
|
ExternalStorePath = Path.GetDirectoryName(Application.streamingAssetsPath) + "/ExternalAssets/";
|
break;
|
default:
|
ExternalStorePath = Application.persistentDataPath + "/";
|
break;
|
}
|
}
|
else
|
{
|
ExternalStorePath = Application.persistentDataPath + "/";
|
}
|
|
Debug.Log("Stream Path: " + StreamingAssetPath);
|
Debug.Log("External Path: " + ExternalStorePath);
|
}
|
|
public void CleanCache()
|
{
|
// ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
|
// Language.Get("CleanCache2"), (bool isOk) =>
|
// {
|
// if (isOk)
|
// {
|
// try
|
// {
|
// // 获取persistentDataPath下的所有文件和文件夹
|
// string[] files = Directory.GetFiles(ExternalStorePath);
|
// string[] dirs = Directory.GetDirectories(ExternalStorePath);
|
|
// // 删除所有文件
|
// foreach (string file in files)
|
// {
|
// if (file.Contains("config"))
|
// {
|
// continue;
|
// }
|
// File.Delete(file);
|
// }
|
|
|
// // 递归删除所有文件夹
|
// foreach (string dir in dirs)
|
// {
|
// if (dir.Contains("config"))
|
// {
|
// continue;
|
// }
|
// Directory.Delete(dir, true);
|
// }
|
|
// files = Directory.GetFiles(ExternalStorePath + "/config");
|
// foreach (string file in files)
|
// {
|
// bool isDelete = true;
|
// foreach (string filename in ConfigInitiator.builtinConfig)
|
// {
|
// if (file.Contains(filename))
|
// {
|
// isDelete = false;
|
// break;
|
// }
|
// }
|
|
// if (isDelete)
|
// File.Delete(file);
|
// }
|
|
|
// }
|
// catch (System.Exception e)
|
// {
|
// Debug.LogError("Failed to clean persistent data: " + e.Message);
|
// }
|
// finally
|
// {
|
// Clock.AlarmAfter(0.1f, () =>
|
// {
|
// Application.Quit();
|
// });
|
// Debug.Log("Persistent data cleaned.");
|
// }
|
|
// }
|
// });
|
|
|
}
|
}
|