private void displaySpriteList(string listName, ref List<SpriteMeshDataDescription> datas, ref bool showData) { showData = EditorGUILayout.Foldout(showData, listName); if (showData) { for (int i = 0; i < datas.Count; i++) { if (datas[i] == null) { datas[i] = new SpriteMeshDataDescription("" , ""); } } int currentListSize = Mathf.Max(0, EditorGUILayout.DelayedIntField("size", datas.Count)); while (currentListSize < datas.Count) datas.RemoveAt(datas.Count - 1); while (currentListSize > datas.Count) datas.Add(new SpriteMeshDataDescription("", "")); for (int i = 0; i < datas.Count; i++) { EditorGUILayout.BeginVertical(); GUILayout.BeginHorizontal(); GUILayout.Space(20); datas[i].fullName = EditorGUILayout.TextField("Name: ", datas[i].fullName); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(20); //datas[i].mesh = (SpriteMesh)EditorGUILayout.ObjectField("Mesh: ", datas[i].mesh, typeof(SpriteMesh), true); GUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); GUILayout.Space(10f); } } }
public List <SpriteMeshDataDescription> loadDescriptions(BodyPart bodyPart, string bundleAssetDirectory) { string bundleName = m_bodyPartKey[bodyPart]; List <SpriteMeshDataDescription> result = new List <SpriteMeshDataDescription>(); var bundle = AssetBundle.LoadFromFile(Path.Combine(bundleAssetDirectory, bundleName)); m_meshBundles[bodyPart] = bundle; if (bundle == null) { Debug.Log("Failed to load AssetBundle " + bundleName); } else { var assets = bundle.GetAllAssetNames(); foreach (var name in assets) { var meshDescription = new SpriteMeshDataDescription(getLastPartOfUri(name), name); result.Add(meshDescription); } } return(result); }