using UnityEngine; using System.Collections.Generic; using System; namespace UMA.CharacterSystem { public class DNAPanel : MonoBehaviour { public List Markers = new List(); //private CharacterAvatar Avatar; public GameObject DnaEditor; public Vector3 InitialPos; public float YSpacing; public bool InvertMarkers; public List CreatedObjects = new List(); public RectTransform ContentArea; public class DNAHolder : IComparable { public string name; public float value; public int index; public UMADnaBase dnaBase; public DNAHolder(string Name, float Value, int Index, UMADnaBase DNABase) { name = Name; value = Value; index = Index; dnaBase = DNABase; } #region IComparable implementation public int CompareTo (DNAHolder other) { return string.Compare(name,other.name); } #endregion } public void Initialize (DynamicCharacterAvatar Avatar) { foreach(GameObject go in CreatedObjects) UMAUtils.DestroySceneObject(go); CreatedObjects.Clear(); UMADnaBase[] DNA = Avatar.GetAllDNA(); List ValidDNA = new List(); foreach (UMADnaBase d in DNA) { string[] names = d.Names; float[] values = d.Values; for (int i=0;i(); de.Initialize(dna.name.BreakupCamelCase(),dna.index,dna.dnaBase,Avatar,dna.value); go.SetActive(true); CreatedObjects.Add(go); } } bool IsThisCategory(string name) { bool retval = false; foreach(string s in Markers) { if (name.Contains(s)) { retval = true; break; } } if (InvertMarkers) return !retval; else return retval; } } }