public static UIPackage AddPackage(AssetBundle desc, AssetBundle res, string mainAssetName)
{
string source = null;
#if UNITY_5
if (mainAssetName != null)
{
TextAsset ta = desc.LoadAsset<TextAsset>(mainAssetName);
if (ta != null)
source = ta.text;
}
else
{
string[] names = desc.GetAllAssetNames();
foreach (string n in names)
{
if (n.IndexOf("@") == -1)
{
TextAsset ta = desc.LoadAsset<TextAsset>(n);
if (ta != null)
{
source = ta.text;
if (mainAssetName == null)
mainAssetName = Path.GetFileNameWithoutExtension(n);
break;
}
}
}
}
#else
if (mainAssetName != null)
{
TextAsset ta = (TextAsset)desc.Load(mainAssetName, typeof(TextAsset));
if (ta != null)
source = ta.text;
}
else
{
source = ((TextAsset)desc.mainAsset).text;
mainAssetName = desc.mainAsset.name;
}
#endif
if (source == null)
throw new Exception("FairyGUI: invalid package.");
if (desc != res)
desc.Unload(true);
return AddPackage(source, res, mainAssetName);
}