本文整理汇总了C#中UnityEngine.AssetBundle.LoadAllAssets方法的典型用法代码示例。如果您正苦于以下问题:C# AssetBundle.LoadAllAssets方法的具体用法?C# AssetBundle.LoadAllAssets怎么用?C# AssetBundle.LoadAllAssets使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UnityEngine.AssetBundle
的用法示例。
在下文中一共展示了AssetBundle.LoadAllAssets方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadAssets
void LoadAssets(string path)
{
if ((System.IO.File.Exists (path) == false) || (path.EndsWith (".unity3d") == false)) {
return;
}
string assetBundleName = System.IO.Path.GetFileNameWithoutExtension (path);
var loadedAssetBundles = Resources.FindObjectsOfTypeAll<AssetBundle> ();
foreach (var loadedAssetBundle in loadedAssetBundles) {
if (loadedAssetBundle.name == assetBundleName) {
loadedAssetBundle.Unload (true);
}
}
if (string.IsNullOrEmpty (path) == false) {
if (System.IO.Directory.Exists (path)) {
return;
}
byte[] bytes = System.IO.File.ReadAllBytes (path);
if (_lastSelectedAssetBundle != null) {
_lastSelectedAssetBundle.Unload (true);
_lastSelectedAssetBundle = null;
}
_lastSelectedAssetBundle = AssetBundle.CreateFromMemoryImmediate (bytes);
if (_lastSelectedAssetBundle != null) {
_lastSelectedAssetBundle.name = assetBundleName;
_assets = _lastSelectedAssetBundle.LoadAllAssets ();
}
OrderBySize ();
}
}
示例2: RefreshShader
/// <summary>
/// 刷新shader
/// </summary>
/// <param name="assetBundle"></param>
public static void RefreshShader(AssetBundle assetBundle)
{
#if UNITY_5
UnityEngine.Material[] materials = assetBundle.LoadAllAssets<Material>();
#else
UnityEngine.Object[] materials = assetBundle.LoadAll(typeof(Material)); //LoadAll<Material>();
#endif
//foreach (UnityEngine.Object m in materials)
for (int i = 0; i < materials.Length; i++)
{
Material mat = materials[i];
string shaderName = mat.shader.name;
Shader newShader = Shader.Find(shaderName);
if (newShader != null)
{
mat.shader = newShader;
}
else
{
Debug.LogWarning("unable to refresh shader: " + shaderName + " in material " + mat.name);
}
}
}
示例3: UnpackConfigAssetBundleFn
/// <summary>
///
/// </summary>
/// <param name="ab"></param>
/// <param name="luaFn"></param>
public static void UnpackConfigAssetBundleFn(AssetBundle ab, LuaFunction luaFn)
{
callBackFn = luaFn;
#if UNITY_5
UnityEngine.Object[] all = ab.LoadAllAssets();
#else
UnityEngine.Object[] all = ab.LoadAll();
#endif
foreach (UnityEngine.Object i in all)
{
if (i is TextAsset)
{
TextAsset a = (TextAsset)i;
if (callBackFn != null)
callBackFn.call(a.name, a.text);
}
}
}